出自簡書 : https://www.jianshu.com/p/2d57c72016c6併發
在 GCD 中有兩種隊列:串行隊列和併發隊列。二者都符合 FIFO(先進先出)的原則。二者的主要區別是:執行順序不一樣,以及開啓線程數不一樣。異步
GCD 六種組合(主線程+同步執行 會鎖卡) (併發隊列的併發功能只有在異步(dispatch_async)函數下才有效)async
線程通訊:(例子見網址的參考。)函數
在iOS開發過程當中,咱們通常在主線程裏邊進行UI刷新,例如:點擊、滾動、拖拽等事件。咱們一般把一些耗時的操做放在其餘線程,好比說圖片下載、文件上傳等耗時操做。而當咱們有時候在其餘線程完成了耗時操做時,須要回到主線程,那麼就用到了線程之間的通信。spa