
GCD
iOS_developer_zhong
iOS开发工程师
展开
-
iOS开发之GCD 多线程 1.串行队列 2.并行队列 3.分组 4.信号量 详细讲解
GCD多线程下,实现线程同步的方式有如下几种:1.串行队列 2.并行队列 3.分组 4.信号量实例: 去网上获取一张图片并展示在视图上. 实现这个需求,可以拆分成两个任务,一个是去网上获取图片,一个是展示在视图上. 这两个任务是有关联的,所以需要同步处理.下面看这几种方式如何实现.一、1.串行队列1.1[GCD相关:](1)GCD原创 2016-05-05 11:45:15 · 2577 阅读 · 0 评论 -
GCD 之 dispatch_benchmark 测量指定代码块执行时间
基准测试在 GCD 的一个不起眼的角落,你会发现一个适合优化代码的灵巧小工具:uint64_t dispatch_benchmark(size_t count, void (^block)(void));把这个声明放到你的代码中,你就能够测量给定的代码执行的平均的纳秒数。例子如下:size_t const objectCount = 1000;uint64_t n =转载 2016-04-22 22:28:04 · 1458 阅读 · 0 评论 -
iOS开发之GCD -- dispatch_group
组 dispatch_group很多时候,你发现需要将异步的 block 组合起来去完成一个给定的任务。这些任务中甚至有些是并行的。现在,如果你想要在这些任务都执行完成后运行一些代码,"groups" 可以完成这项任务。看这里的例子:dispatch_group_t group = dispatch_group_create();dispatch_queue_t queue转载 2016-04-22 22:42:33 · 744 阅读 · 0 评论 -
iOS学习之GCD 信号量详解,dispatch_semaphore、NSOperationQueue
当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。 信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信转载 2016-06-29 11:18:33 · 3862 阅读 · 0 评论