NSThread 的建立和使用

2022-09-16 17:54:11 字數 975 閱讀 9051

執行緒建立與啟動

nsthread的建立主要有兩種直接方式: 

[nsthread detachnewthreadselector:@selector(mythreadmainmethod:) totarget:self withobject:nil]; 

和 nsthread* mythread = [[nsthread alloc] initwithtarget:self 

selector:@selector(mythreadmainmethod:) 

object:nil]; 

[mythread start]; 

這兩種方式的區別是:前一種一呼叫就會立即建立乙個

執行緒來做事情;而後一種雖然你 alloc 了也 init了,但是要直到我們手動呼叫 start 啟動執行緒時才會真正去建立執行緒。 

這種延遲實現思想在很多跟資源相關的地方都有用到。後一種方式我們還可以在啟動執行緒之前,對執行緒進行配置,比如設定 stack 大小,執行緒優先順序。 

還有一種間接的方式,更加方便,我們甚至不需要顯式編寫 nsthread 相關**。那就是利用 nsobject 的類方法 performselectorinbackground:withobject: 來建立乙個

執行緒: 

[myobj performselectorinbackground:@selector(mythreadmainmethod) withobject:nil]; 

其效果與 nsthread 的 detachnewthreadselector:totarget:withobject: 是一樣的。 

******************************

如在我們在某個

NSThread 的建立和使用

執行緒建立與啟動 nsthread的建立主要有兩種直接方式 nsthread detachnewthreadselector selector mythreadmainmethod totarget self withobject nil 和 nsthread mythread nsthread a...

NSThread建立多執行緒

乙個nsthread的物件就代表乙個執行緒。建立 啟動執行緒 nsthread thread nsthread alloc initwithtarget self selector selector download object nil thread start 主線程的相關用法 nsthread...

DLL的建立和使用

我們將建立的第一種型別的庫是動態鏈結庫 dll 使用 dll 是一種重用 的絕佳方式。您不必在自己建立的每個程式中重新實現同一例程,而只需對這些例程編寫一次,然後從需要該功能的應用程式引用它們即可。本演練涵蓋以下內容 建立新的動態鏈結庫 dll 專案。向動態鏈結庫新增類。建立引用動態鏈結庫的應用程式...