iOS 多線程 -----GCD講解

好久沒寫文章 ?最近看到一篇博客 是關(guān)于GCD ?想了下 嗯。。。。自己也不是很明白 ?然后找了下度娘 整理下文章 保存下來 ?為以后方便查看

說明:把右邊的參數(shù)(任務(wù))提交給左邊的參數(shù)(隊列)進(jìn)行執(zhí)行

1,用同步的方式執(zhí)行任務(wù) dispatch_sync(dispatch_queue_t queue, dispatch_block_t block);

? ? 參數(shù)說明:

? ? ? ? ? ? ? ? ? ? ? ? queue : 隊列

? ? ? ? ? ? ? ? ? ? ? ? block : 任務(wù)

2,用異步的方式執(zhí)行任務(wù)? dispatch_async(dispatch_queue_t,dispatch_block_t block);

同步和異步的區(qū)別


同步:在當(dāng)前線程中執(zhí)行

異步:在另一個線程中執(zhí)行

隊列的類型

1,并發(fā)隊列? ? ? 可以讓多個任務(wù)(同時)執(zhí)行并發(fā)功能只有在異步(dispatch_async)函數(shù)才有效

2,串行隊列? ? ? 讓任務(wù)一個接一個地執(zhí)行(一個任務(wù)執(zhí)行完畢后,再執(zhí)行下一個任務(wù))

最后總結(jié) ??同步 異步 并發(fā) 串行

同步和異步?jīng)Q定了要不要開啟新的線程

? ? 同步:在當(dāng)前線程中執(zhí)行任務(wù),不具備開啟新線程能力

? ? 異步:在新的線程中執(zhí)行任務(wù),具備開啟新線程的能力

并發(fā)和串行決定了任務(wù)的執(zhí)行方式

? 并發(fā):多個任務(wù)(同時)執(zhí)行

? 串行: 一個任務(wù)執(zhí)行完畢后,在執(zhí)行下一個任務(wù)


這是純理論知識 代碼還沒有整理好 ?待續(xù)哦

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

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

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