码迷,mamicode.com
首页 > 其他好文 > 详细

创建Dispatch Queue

时间:2014-08-19 14:34:34      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:dispatch_queue

第一、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

标签:dispatch_queue

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!