iOS多线程与组

iOS多线程与组,ios,objective-c,multithreading,Ios,Objective C,Multithreading,我有一个关于线程的问题。我有一个视图显示两个图像(对手的旗帜)。我读过关于线程组的文章,这些线程组可以一起运行 我现在的做法是: - (void) setBanners{ [getBanner:@"TeamA"]; [getBanner:@"TeamB"]; } - getBanner:(NSString *team){ dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_D

我有一个关于线程的问题。我有一个视图显示两个图像(对手的旗帜)。我读过关于线程组的文章,这些线程组可以一起运行

我现在的做法是:

- (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
   }
}
所以我的问题是,这是以分组线程的方式发生的,还是在一个方法完成时调用teamtwo方法?通过分组,它将如下所示:

 - 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
   });
  }

因此他们几乎是平等的。。除了dispatch_组隐式重用线程之外,没有什么区别,因为GCD有一个线程池


--哦,显然GCD使用的是块

看起来像什么?对不起,我的问题补充了一句是的,因为您没有正确使用组。调度组等待在哪里?添加一个链接到你读到的关于线程组的源代码。我不需要等待任何事情,他们自己做自己的工作,只是停止