首先科普一下常見的幾個名詞,這些名詞我們經(jīng)常見,但容易搞混,希望可以幫到大家。
串行:原理是一個接一個的先進先出的進行執(zhí)行(FIFO)只會開啟一條線程

?輸出結果

并行:任務以FIFO從序列中移除,然后并發(fā)運行,無順序。它會自動開啟多個線程同時執(zhí)行任務

輸出結果

同步:同步會阻塞當前線程,有block的時候會先執(zhí)行完block塊 再往下運行(不開辟線程)
異步:異步不會阻塞當前線程,有block塊的時候會先執(zhí)行完當前線程的任務 再執(zhí)行block塊(開辟線程,線程的個數(shù)系統(tǒng)決定)

dispatch_group_t: //// dispatch_group_notify:

輸出結果:

dispatch_queue_t:

輸出結果:

dispatch_once: 單例模式
dispatch_after:延時操作
線程間的通信:
1.GCD

2.NSThread
