奇葩問題與主線程延遲有關

2021-07-24 10:49:13 字數 369 閱讀 4363

dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(0.3f * nsec_per_sec)), dispatch_get_main_queue(), ^);

dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(0.5f * nsec_per_sec)), dispatch_get_main_queue(), ^);

這個是退出登入的部分,假如在乙個類中執行了前面 的部分,即主線程延遲0.3秒執行乙個操作,那麼在0.3秒內是不能對這個類進行釋放的,退出登入也會不能成功的.

我覺得應該是系統判定這個類還有任務沒執行完,不能退出runloop,導致的.

Android UI主線程與子執行緒

乙個android 程式預設情況只有乙個程序,但是乙個程序可以有多個執行緒。其中有乙個ui 執行緒也稱為ui主線程,ui thread在android程式執行的時候就被建立,主要是負責控制ui介面的顯示 更新和控制項互動。所有的android應用程式元件 包括activity service bro...

關於子執行緒與主線程與hander通訊

子執行緒不能更新ui,主線程不能做耗時操作。操做流程是 子執行緒耗時完畢傳給handler sendmessage再傳給messagequeue再給looper最後傳給ui執行緒。arg1 arg2傳遞整數型。obj傳輸大部分。what屬性判斷。通過time integer.parseint ed1...

多執行緒經典問題1 主線程子執行緒交替問題

提出問題 子執行緒迴圈 10 次,接著主線程迴圈 100 次,接著又回到子執行緒迴圈 10 次,接著再回到主線程又迴圈 100 次。如此迴圈50次。分析 這個實際上是非常easy的問題。即子執行緒run,主線程堵塞 子執行緒堵塞,主線程run 可以使執行緒堵塞的方法有非常多,最常見的是sleep與w...