GCD 中 Group的使用

GCD 中的group 使用

在最近的業(yè)務(wù)場(chǎng)景中,考慮到性能的優(yōu)化,以及建減少服務(wù)器的壓力,使用到從并行到串行業(yè)務(wù)的流程。
假設(shè) 場(chǎng)景服務(wù)中 要對(duì)對(duì)象A 的屬性 成員B 的圖片進(jìn)行上傳后,再處理圖片路徑 然后再提交A的相關(guān)數(shù)據(jù)。我處理的場(chǎng)景方案就是group

使用方式 :

dispatch_group_t group = dispatch_group_create();
dispatch_queue_t mainQueue = dispatch_get_main_queue();

             dispatch_group_enter(group);

   dispatch_async(mainQueue, ^{
              dispatch_group_leave(group);

    
      });
      


// 組中的隊(duì)列全部執(zhí)行完畢后就通知調(diào)度組
dispatch_group_notify(g, dispatch_get_main_queue(), ^{
  NSLog(@"MainTask: %@", [NSThread currentThread]);
});


  //等待組中的任務(wù)都執(zhí)行完畢,才會(huì)執(zhí)行
  dispatch_group_notify(group, dispatch_get_main_queue(), ^{
//此處執(zhí)行 完成組內(nèi)任務(wù)后的內(nèi)容
  });
  
  //等待組中的任務(wù)都執(zhí)行完畢,才會(huì)繼續(xù)執(zhí)行后續(xù)的代碼
  dispatch_group_wait(group, DISPATCH_TIME_FOREVER);

以上是我刪除掉了業(yè)務(wù)代碼所寫的組內(nèi)執(zhí)行任務(wù)結(jié)束后 回歸串行的方法。
有需求可參考使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,675評(píng)論 1 32
  • 本文用來介紹 iOS 多線程中 GCD 的相關(guān)知識(shí)以及使用方法。這大概是史上最詳細(xì)、清晰的關(guān)于 GCD 的詳細(xì)講...
    花花世界的孤獨(dú)行者閱讀 578評(píng)論 0 1
  • 在這兩部分的系列中,第一個(gè)部分的將解釋 GCD 是做什么的,并從許多基本的 GCD 函數(shù)中找出幾個(gè)來展示。在第二部...
    透支未來閱讀 415評(píng)論 0 1
  • 1 什么是線程? 線程(英語:thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。 線程是獨(dú)立調(diào)度和分派的基本單位...
    朱允見閱讀 599評(píng)論 0 1
  • 2018年5月22日。詩以為紀(jì)。 莫笑匹夫老,初夏蛙鳴早。 只要肯攀登,尤自稱年少。 香樟雅舍暖,萬千氣象新。 謝...
    王文波ah閱讀 946評(píng)論 2 3

友情鏈接更多精彩內(nèi)容