首页 > 其他 > 详细

创建Dispatch Queue

时间:2014-08-19 14:34:34      阅读:346      评论:0      收藏:0      [点我收藏+]
第一、dispatch_queue_create 用于创建用户线程队列。可以创建Serial Dispatch Queue 和Concurrent Dispatch Queue两种队列,Serial Dispatch Queue是等待现在正在执行的Queue,即串行执行
Concurrent Dispatch Queue不等待现在正在执行中的Queue,即并行队列
1、创建Serial Dispatch Queue
   dispatch_queue_t serialQueue=dispatch_queue_create("hello1", NULL);
   因为是串行执行,因此创建一个Serial Dispatch Queue就得创建一个线程,如果线程太多,占用太多内存,上下文切换会使系统资源浪费,一次应该严格控制创建Serial Dispatch Queue的数目。
   在实际使用过程中,多个线程更新相同的数据资源导致数据竞争时使用此类型的queue
2、创建Concurrent Dispatch Queue
   dispatch_queue_t concurrentQueue=dispatch_queue_create("hello2", DISPATCH_QUEUE_CONCURRENT);
   如果想并行执行并且不产生数据竞争的问题时,使用Concurrent Dispatch Queue,在iOS和mac系统中,XNU控制线程的创建,会结束掉不在需要的线程,可以很好地管理执行多个并行执行的线程
3、通过dispatch_queue_create常见的queue,因为不支持ARC,所以必须通过dispatch_release释放,如果要保留则采用dispatch_retain,

创建Dispatch Queue,布布扣,bubuko.com

创建Dispatch Queue

原文:http://blog.csdn.net/richard_rufeng/article/details/38679749

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!