iOS 常駐執行緒

2022-01-30 11:19:46 字數 1024 閱讀 8490

如何開啟

首先開啟乙個執行緒:

1 @property (nonatomic, strong) nsthread *thread;

23 - (ibaction)startaction:(id

)sender

1011 - (void

)start

1415 - (ibaction)taskaction:(id

)sender

2425 - (void

)task

根據**可知,執行startaction,列印

start----

我們知道乙個執行緒執行完任務後就會自動銷毀,再次呼叫此執行緒去執行任務即會報錯:

所以我們一般啟動runloop來使執行緒常駐,修改**如下:

1 - (void

)start while

(yes);7}

8 }

便可成功執行task:

start----task----

如何停止**如下:

1

@property (nonatomic, assign) bool cancelled;

23 - (ibaction)stopaction:(id

)sender

89 - (void

)start while (!self.cancelled);15}

16}1718 - (void

)stop

新增乙個flag操控,執行stopaction後,再次操作task便又會報錯,說明runloop停止了

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 ...