如何開啟
首先開啟乙個執行緒:
1 @property (nonatomic, strong) nsthread *thread;根據**可知,執行startaction,列印23 - (ibaction)startaction:(id
)sender
1011 - (void
)start
1415 - (ibaction)taskaction:(id
)sender
2425 - (void
)task
start----我們知道乙個執行緒執行完任務後就會自動銷毀,再次呼叫此執行緒去執行任務即會報錯:
所以我們一般啟動runloop來使執行緒常駐,修改**如下:
1 - (void便可成功執行task:)start while
(yes);7}
8 }
start----task----如何停止**如下:
1新增乙個flag操控,執行stopaction後,再次操作task便又會報錯,說明runloop停止了@property (nonatomic, assign) bool cancelled;
23 - (ibaction)stopaction:(id
)sender
89 - (void
)start while (!self.cancelled);15}
16}1718 - (void
)stop
ios 執行緒休眠 iOS執行緒保活(常駐執行緒)
介紹 在日常的ios開發中,遇到卡頓也是在所難免,一般卡頓是由於主線程處理耗時長的操作而造成執行緒一直在阻塞,那麼我們可以去建立子執行緒,把耗時操作放在子執行緒去做,這樣是完全沒問題。這樣就會有乙個問題,子執行緒處理完操作之後就會被銷毀,想再處理其他事情,必須再開啟新的子執行緒。如果想要乙個子執行緒...
iOS RunLoop常駐執行緒
常駐執行緒的作用 讓乙個一直存在的子執行緒,等待其他執行緒發來訊息,處理其他事件。1.設定成全域性的,如果是執行緒物件是區域性的就會死掉 property strong,nonatomic nsthread thread 2.初始化執行緒並啟動self thread nsthread alloc i...
iOS常駐後台執行實現
最近重新看ios的開發,確實有一些新的發現 1 短時間常駐 3分鐘 var backgroundtask uibackgroundtaskidentifier nil 申請乙個任務id 該方法在進入後台時響應 如果已存在後台任務,先將其設為完成 if self.backgroundtask nil ...