04-dispatch_group
dispatch_group 實現執行緒同步
比如說,第一步我想先下載三張圖片,然後第二步再去主執行緒重新整理imgview 顯示圖片。
利用dispatch_group 來進行實現 ,簡單來講就四行程式碼. 就可以讓程式碼按照你想要的順序進行發生。
使用步驟
- 建立一個dispatch_group_t
dispatch_group_t downloadGroup = dispatch_group_create();
- 每次網路請求前先dispatch_group_enter
dispatch_group_enter(downloadGroup);
- 請求回撥後再dispatch_group_leave
dispatch_group_leave(downloadGroup);
- 當所有enter的block都leave後,會執行dispatch_group_notify的block
dispatch_group_notify(downloadGroup, dispatch_get_main_queue(), ^{});