非同步併發執行任務1、任務2
等任務1、任務2都執行完畢後,再回到主線程執行任務3
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue = dispatch_queue_create("queue_label", dispatch_queue_concurrent);
dispatch_group_async(group, queue, ^
});dispatch_group_async(group, queue, ^
});dispatch_group_async(group, queue, ^
});dispatch_group_notify(group, queue, ^
});dispatch_group_notify(group, queue, ^
});
執行結果:
任務2 0
任務1 0
任務3 0
任務1 1
任務2 1
任務3 1
任務1 2
任務2 2
任務3 2
任務1 3
任務2 3
任務1 4
任務2 4
任務3 3
任務3 4
任務5 0
任務4 0
任務5 1
任務4 1
任務5 2
任務4 2
任務5 3
任務5 4
任務4 3
任務4 4
從執行結果中可以看出: 多執行緒, 執行緒佇列
self performselectoronmainthread selector refreshcellforliveid withobject userinfo waituntildone yes 該方法的作用是在主線程中,執行制定的方法 塊 引數 selector refreshcellfor...
多執行緒 佇列
對於編寫多執行緒的朋友來說,佇列具有天生的互斥性。在佇列裡面,乙個負責新增資料,乙個負責處理資料。誰也不妨礙誰,誰也離不開誰。所以,佇列具有天生的並行性。只針對 乙個執行緒讀,乙個執行緒寫。當不滿足這個先決條件,多執行緒也完蛋,也得進佇列加鎖,出佇列加鎖 view plain print?defin...
多執行緒實戰 執行緒組 訊號量 操作佇列
生產問題 1.上傳100個psd 2.每個psd內 100個圖 3.需要知道上傳完每個psd 和 所有psd的時思路 1.n個psd之間使用序列處理 2.psd中的n個使用併發處理,使用訊號量控制併發數 3.上傳內部又有3個異網路請求,使用執行緒組實現穿透同步 標頭檔案 inte ce psdmod...