GCD 是 libdispatch 的市場(chǎng)名稱,而 libdispatch 作為 Apple 的一個(gè)庫傅物,為并發(fā)代碼在多核硬件(跑 iOS 或 OS X )上執(zhí)行哪自。
-
GCD核心之隊(duì)列
串行隊(duì)列:
1.遵循FIFO 執(zhí)行渔伯,一個(gè)接一個(gè)的先進(jìn)先出的進(jìn)行執(zhí)行。
2.主隊(duì)列是特殊的串行隊(duì)列蓝翰。
并行隊(duì)列:
1.遵循FIFO執(zhí)行,取出任務(wù)并放到新線程執(zhí)行女嘲。
2.多個(gè)任務(wù)同時(shí)運(yùn)行
- GCD核心之任務(wù)
任務(wù):需要執(zhí)行的操作->block代碼塊
同步(sync)執(zhí)行: 當(dāng)前線程等待Block執(zhí)行完畢后畜份,繼續(xù)向下運(yùn)行。
異步(async)執(zhí)行:避開當(dāng)前線程,開啟新線程欣尼。