GCD
GCD 是蘋果公司為多核的并行運算提出的解決方案
GCD 會自動利用更多的CPU內核(比如雙核、四核)
GCD 會自動管理線程的生命周期(創建線程、調度任務、銷毀線程)
程序員只需要告訴 GCD 想要執行什么任務,不需要編寫任何線程管理代碼
柵欄函數 dispatch_barrier_async
控制任務執行順序,同步 保證線程安全
dispatch_barrier_async 前面的任務執行完畢才會來到這里
dispatch_barrier_sync 作用相同,但是這個會堵塞線程,影響后面的任務執行
柵欄函數只能控制同一并發隊列 不利于封裝
柵欄函數使用全局并發隊列沒有效果
調度組
控制任務執行順序
dispatch_group_create 創建組
dispatch_group_async 進組任務
dispatch_group_notify 進組任務執行完畢通知
dispatch_group_wait 進組任務執行等待時間
dispatch_group_enter 進組
dispatch_group_leave 出組