GCD(四)dispatch_group
2014-07-01 19:09
211 查看
如果想在dispatch_queue中所有的任务执行完成后在做某种操作,在串行队列中,可以把该操作放到最后一个任务执行完成后继续,但是在并行队列中怎么做呢。这就有dispatch_group 成组操作。
上面的 log1 和log2输出顺序不定,因为是在并行队列上执行,当并行队列全部执行完成后,最后到main队列上执行一个操作,保证“end”是最后输出。 另外,这里也可以不用创建自己的并行队列,用全局的global,那个也是个并行队列. dispatch_get_gloable_queue(0,0);
dispatch_queue_t dispatchQueue = dispatch_queue_create("ted.queue.next", DISPATCH_QUEUE_CONCURRENT); dispatch_group_t dispatchGroup = dispatch_group_create(); dispatch_group_async(dispatchGroup, dispatchQueue, ^(){ NSLog(@"dispatch-1"); }); dispatch_group_async(dispatchGroup, dispatchQueue, ^(){ NSLog(@"dspatch-2"); }); dispatch_group_notify(dispatchGroup, dispatch_get_main_queue(), ^(){ NSLog(@"end"); });
上面的 log1 和log2输出顺序不定,因为是在并行队列上执行,当并行队列全部执行完成后,最后到main队列上执行一个操作,保证“end”是最后输出。 另外,这里也可以不用创建自己的并行队列,用全局的global,那个也是个并行队列. dispatch_get_gloable_queue(0,0);
相关文章推荐
- iOS开发之GCD -- dispatch_group
- GCD学习之Dispatch Group
- GCD 学习(四) dispatch_group
- iOS之GCD再谈(dispatch_group,dispatch_semaphore)
- iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)
- GCD dispatch_group
- OS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)
- iOS GCD, 同步,异步,串行队列,并行队列,dispatch_group
- GCD 学习(四) dispatch_group
- GCD之dispatch_group_create
- ios 多线程控制线程并发数、GCD之dispatch_group、GCD信号量
- GCD-dispatch_group
- GCD 之四:Dispatch Group
- 完整详解GCD系列(三)dispatch_group
- GCD 信号量控制并发(dispatch_semaphore)以及dispatch_group_async
- iOS--GCD(使用dispatch_group来进行线程同步)
- GCD收录3--dispatch_group线程调度组
- iOS GCD中级篇 - dispatch_group的理解及使用
- iOS系统GCD学习(3):dispatch_group
- GCD高级用法(二) dispatch_group