花了很大力氣整理了GCD隊(duì)列在同步異步情況下在主線程和其他線程觸發(fā)時(shí)的情況,主隊(duì)列屬于特殊的串行隊(duì)列,單獨(dú)列出

?GCD隊(duì)列與同步異步組合情況
串行隊(duì)列:保證任務(wù)按照順序執(zhí)行,但不保證在同一線程上執(zhí)行
并發(fā)隊(duì)列:保證任務(wù)按照順序開始,具體執(zhí)行線程由GCD調(diào)度
主隊(duì)列:保證任務(wù)在主線程上按照順序執(zhí)行(極特殊情況,例如dispatch_main()阻塞主線程時(shí),可在其他線程上運(yùn)行)
async:將任務(wù)加入隊(duì)列,并立即返回
sync:阻塞當(dāng)前任務(wù),嘗試由當(dāng)前線程執(zhí)行block任務(wù),如果sync到main,則會(huì)切換到main執(zhí)行
死鎖檢測(cè)機(jī)制的缺陷:https://blog.csdn.net/u013378438/article/details/81076116