GCD之Apply
来源:互联网 发布:怎么电话联系淘宝卖家 编辑:程序博客网 时间:2024/06/04 09:28
dispatch_apply函数是dispatch_sync函数和dispatch_group的结合体。该函数将按指定的次数将指定的block追加到指定的dispatch queue中,并等待全部处理结束。
指定的次数将指定的block追加到指定的dispatch queue中,即循环,和dispatch_group类似,此处循环要根据dispatch queue来判读是并行循环还是串行循环。等待全部处理结束,即同步,和dispatch_sync 一样。
下面看代码及运行结果来验证:
1
2
3
4
5
6
7
8
9
10
11
dispatch_queue_t queue= dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_apply(5, queue, ^(size_t i) {
NSLog
(@
"%ld"
,i);
});
NSLog
(@
"%d"
,88);
//不死锁
dispatch_async(queue, ^{
dispatch_apply(5, dispatch_get_main_queue(), ^(size_t i) {
NSLog
(@
"%ld"
,i);
});
});
运行结果:
此时可以看到:当dispatch queue为全局线程(并行)时输出不是按索引输出,未主线程队列时,按索引输出。
0 0
- GCD之Apply
- GCD-semaphore(资源)-apply
- Javascript 之apply()
- angularJS之$apply()方法
- javascript 之 call & apply
- angularJS之$apply()方法
- scala学习之apply
- R语言学习之apply
- js之apply,call浅谈
- JS之apply、call、bind
- javascript之bind + call + apply
- Scala学习笔记之`apply`
- ES之call与apply
- JavaScript之call() 、apply() 函数
- js之apply call使用
- Angular之$apply和$digest
- GCD深入学习之GCD的初识
- GCD之dispatch queue
- GCD之after
- 数据结构与算法(12)——栈习题三
- vm10装xp系统
- 51nod 1284 2 3 5 7的倍数(容斥)
- Zookeper中java代码中的API
- GCD之Apply
- 2017-04月份总结
- IntelliJ IDEA下使用默认Spring MVC框架运行失败的解决方案
- GCD之死锁
- 第四十三讲项目一 由键盘到文件
- 迁移学习&自我学习
- hdu1016
- java环境变量设置
- 51nod 1091 线段的重叠(贪心)