GCD
2016-05-18 18:57
274 查看
dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(concurrentQueue, ^(){ NSLog(@"dispatch-1"); }); dispatch_async(concurrentQueue, ^(){ NSLog(@"dispatch-2"); }); dispatch_barrier_async(concurrentQueue, ^(){ NSLog(@"dispatch-barrier"); }); dispatch_async(concurrentQueue, ^(){ NSLog(@"dispatch-3"); }); dispatch_async(concurrentQueue, ^(){ NSLog(@"dispatch-4"); });
dispatch_barrier_async 作用是在并行队列中,等待前面两个操作并行操作完成,这里是并行输出
dispatch-1,dispatch-2
然后执行
dispatch_barrier_async中的操作,(现在就只会执行这一个操作)执行完成后,即输出
"dispatch-barrier, 最后该并行队列恢复原有执行状态,继续并行执行
dispatch-3,dispatch-4
相关文章推荐
- WEB打印
- 绝对定位和相对定位
- 程序员的批评与自我批评(转)
- oracle sql学习一
- bzoj 1003: [ZJOI2006]物流运输(最短路+DP)
- 【NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2】游记
- Linear Rendering
- 基于邻域的算法
- CMAKE 学习笔记 (一)
- maven解决jar包版本冲突
- 自旋锁和互斥锁区别
- selenium+python笔记2
- 判断字符串是否为空
- HDU4289 Control 最大流
- 349. Intersection of Two Arrays【E】
- 杂七杂八
- HTML <iframe> 标签
- 文件锁
- 伸展树详解及实现
- 一个tomcat部署俩个java web项目