1.GCD函數(shù)說明
//獲取主隊列
dispatch_queue_t queue = dispatch_get_main_queue();
//獲取串行隊列
dispatch_queue_t queue = dispatch_queue_create("test.syncSerial", DISPATCH_QUEUE_SERIAL);
//獲取并發(fā)隊列
dispatch_queue_t queue = dispatch_queue_create("test.syncSerial", DISPATCH_QUEUE_SERIAL);
dispatch_group_t 隊列組 需要保證讀寫安全
dispatch_group_notify 等待完成不會阻塞當前線程
dispatch_group_wait 等待完成會阻塞當前線程 可以設(shè)置超時時間
dispatch_group_enter 添加未執(zhí)行完畢的任務數(shù) 一般用于group中嵌套使用異步函數(shù)
dispatch_group_leave 減少未執(zhí)行完畢的任務數(shù)
dispatch_semaphore_t GCD信號量(一種線程鎖)
dispatch_barrier_async 柵欄函數(shù) 用于之前的任務執(zhí)行完畢之后才會執(zhí)行后面的函數(shù)
dispatch_apply 分發(fā)隊列多次調(diào)用 可以用來遍歷數(shù)組等
2.GCD應用場景
1.耗時任務
2.異步同時返回結(jié)果比如請求多個接口
3.定時器