您的位置:首页 > 其它

GCD 深入理解

2015-12-21 15:10 344 查看
AFNetworking2.0源码解析<一>
http://blog.cnbang.net/tech/2320/
GCD 深入理解:第一部分
http://www.cocoachina.com/industry/20140428/8248.html https://github.com/nixzhu/dev-blog/blob/master/2014-04-19-grand-central-dispatch-in-depth-part-1.md http://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1
让你的单例线程安全

dispatch_once 实现单例

处理读者与写者问题

GCD 通过用 dispatch barriers 创建一个读者写者锁 提供了一个优雅的解决方案。

使用 GCD 的障碍(barrier)API

就意味着所有的先于调度障碍提交到队列的条目必能在这个 Block 执行前完成。

GCD 提供了同步和异步两种障碍函数。

发送一个通知说明完成了添加图片

你就不能异步调度到队列,因为那样在读者函数返回之前不一定运行。

dispatch_sync() 同步地提交工作并在返回前等待它完成。

在 concurrentPhotoQueue 上同步调度来执行读操作。

这里使用 dispatch_queue_create 初始化 concurrentPhotoQueue 为一个并发队列。

dispatch_sync 添加任务到一个队列并等待直到任务完成。dispatch_async 做类似的事情,但不同之处是它不会等待任务的完成,而是立即继续“调用线程”的其它任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: