0

スレッドについて質問があります。2 つの画像 (対戦相手のバナー) を表示するビューがあります。一緒に実行できるスレッドグループについて読みました。

私が今持っている方法は次のとおりです。

- (void) setBanners{
    [getBanner:@"TeamA"];
    [getBanner:@"TeamB"];
}

- getBanner:(NSString *team){
   dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
   dispatch_async(queue, ^(void){
       ..Goto server and get logo
   }
}

だから私の質問は、これはスレッドのグループ化と同じように起こるのでしょうか、それとも 1 つが終了したときにチーム 2 のメソッドが呼び出されるのでしょうか? グループ化すると、次のようになります。

 - setBanner{
   dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
   dispatch_group_t group = dispatch_group_create();

   dispatch_group_async(group, queue, ^{
    get logo team a
   });

   dispatch_group_async(group, queue, ^{
    get logo team a
   });
  }
4

1 に答える 1

0

GCDにはスレッドプールがあるため、dispatch_groupが暗黙的にスレッドを再利用することを除いて違いはありません

-- ああ、明らかに GCD はブロックを使用します

于 2013-11-11T12:44:22.233 に答える