美文网首页
如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张

如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张

作者: natewang | 来源:发表于2018-02-22 14:07 被阅读19次

使用dispatch_group_t

dispatch_queue_t dispatchQueue = dispatch_queue_create("ted.queue.next1", DISPATCH_QUEUE_CONCURRENT);
    dispatch_queue_t globalQueue = dispatch_get_global_queue(0, 0);
    dispatch_group_t dispatchGroup = dispatch_group_create();
    dispatch_group_async(dispatchGroup, dispatchQueue, ^(){
        
        dispatch_async(globalQueue, ^{
           
            sleep(5);
            NSLog(@"任务一完成");
        });
    });
    dispatch_group_async(dispatchGroup, dispatchQueue, ^(){
        
        dispatch_async(globalQueue, ^{
            
            sleep(8);
            NSLog(@"任务二完成");
        });
    });
    dispatch_group_notify(dispatchGroup, dispatch_get_main_queue(), ^(){
        NSLog(@"notify:任务都完成了");
    });

同步接口
dispatch_group_wait

相关文章

网友评论

      本文标题:如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张

      本文链接:https://www.haomeiwen.com/subject/tzxztftx.html