多執行緒基礎(五)NSThread執行緒通訊

2021-09-07 04:31:57 字數 1376 閱讀 7901

5、多執行緒基礎

執行緒間通訊

什麼叫執行緒間通訊

在乙個程序中,執行緒往往不是孤立存在的,多個執行緒之間需要經常進行通訊

執行緒間通訊的體現

1個執行緒傳遞資料給另乙個執行緒

在1個執行緒中執行完特定任務後,

執行緒間通訊常用方法  perform執行 selector選擇器 

- (void

)performselectoronmainthread

:(sel

)aselector

withobject

:(id

)arg

waituntildone

:(bool

)wait;

- (void

)performselector

:(sel

)aselector

onthread

:(nsthread

*)thr

withobject

:(id

)arg

waituntildone

:(bool

)wait;

上面兩個方法是物件方法,繼承nsobject的物件都能使用。

**(以載入網路上的為例)

url: 

在敲**之前,要在info.plist專案檔案中新增乙個設定

不使用多執行緒的操作

下面我們需要採用一些方法來獲取一段**的執行獲取的時間

然後切入正題,在子執行緒中傳送訊息給主線程,也是兩種方法:

注意上面的**用了nsthread的sleep方法,讓其睡眠3秒鐘。

關於這個第三種方法,可以看看我的總結,然後基本可以達到不用看原始碼快速自己敲出**:

多執行緒 NSThread

我們想要載入網路上的一張 define url imag 然後初始化按鈕和乙個沒有的imageview 也可以再加乙個lable顯示資訊 主線程直接載入 self.imageview.image uiimage imagewithdata self loaddatawithurl url imag ...

iOS 多執行緒 NSThread

ibaction startthreadbuttonpressed uibutton sender 建立新的執行緒,執行緒的函式為 startthebackgroundjob.具體的 startthebackgroundjob 函式定義如下.void startthebackgroundjob 在第...

NSThread建立多執行緒

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