關(guān)于多線程GCD 串行/并行、同步/異步

一、GCD串行/并行隊列創(chuàng)建

串行隊列:

并行隊列:

二、GCD串行/并行隊列同步/異步執(zhí)行

執(zhí)行內(nèi)容1:

并行、同步執(zhí)行內(nèi)容1

執(zhí)行結(jié)果1:

并行、同步執(zhí)行結(jié)果1

執(zhí)行內(nèi)容2:

并行、異步執(zhí)行內(nèi)容2

執(zhí)行結(jié)果2:

并行、異步執(zhí)行結(jié)果2

執(zhí)行內(nèi)容3:

串行、同步執(zhí)行內(nèi)容3

執(zhí)行結(jié)果3:

串行、同步執(zhí)行結(jié)果3

執(zhí)行內(nèi)容4:

串行、異步執(zhí)行內(nèi)容4

執(zhí)行結(jié)果4:

串行、異步執(zhí)行結(jié)果4

三、總結(jié):

由上面代碼示例可以看出,串行隊列就是在一個線程執(zhí)行的隊列:如果是當前線程,那就是串行同步隊列(因為同步機制會阻塞當前線程),如果是新開辟的子線程,就是串行異步隊列;并發(fā)隊列如果是在當前線程中執(zhí)行,就是并發(fā)同步隊列,在新開辟的多個子線程中執(zhí)行就是并發(fā)異步隊列。

綜上所述,我們平時使用最多的自然是并發(fā)異步隊列,比如開辟多個子線程下載圖片、文件等。另外由于串行隊列中添加的任務(wù)會按加入的順序執(zhí)行,所以可以用來解決開發(fā)中關(guān)于資源搶奪的問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從哪說起呢? 單純講多線程編程真的不知道從哪下嘴。。 不如我直接引用一個最簡單的問題,以這個作為切入點好了 在ma...
    Mr_Baymax閱讀 2,911評論 1 17
  • iOS多線程編程 基本知識 1. 進程(process) 進程是指在系統(tǒng)中正在運行的一個應(yīng)用程序,就是一段程序的執(zhí)...
    陵無山閱讀 6,345評論 1 14
  • 系列文章: 多線程 多線程 pthread、NSThread 多線程 GCD 多線程 NSOperation 多線...
    林安530閱讀 457評論 0 0
  • 親子日記300篇9月8日,星期六,天氣:晴 今天是寫親子日記第300篇,由于堅持和堅定,沒有了最初寫100篇,20...
    楊梓萌媽媽閱讀 314評論 0 1
  • 和雅羅閱讀 341評論 0 0

友情鏈接更多精彩內(nèi)容