GCD学习笔记(一):Dispatch Queue

http://itjoy.org/?p=542


Grand Gentral Dispatch(GCD) 是异步执行任务的技术之一。开发者只需要定义想执行的任务追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。简单的说,GCD用我们难以置信的非常简洁的记述方式,实现了极为复杂繁琐的多线程编程,效率要远高于之前的线程。

         上述代码使用了block语法,之中定义了想执行的任务。通过dispatch_async函数追加赋值在变量queue的dispatch_queue中。dispath_queue是啥,就是一种执行处理的等待对列。按照追加顺序(FIFO)执行处理。

         dispatch_queue分为两种,一种是等待当前正在处理的任务完成后再执行下一个任务,每次只执行一个任务,按照顺序执行,称为Serial Dispatch Queue,另一种就是不等待,意思就是不管当前的任务是否执行完毕都开始执行下一个任务,任务并发执行,称为Concurrent Dispatch Queue.

         当变量queue为Concurrent Dispatch Queue时,虽然不用等待处理结束,就可以并行执行多个任务。但并行执行的处理数量取决于当前的系统的状态。系统只生成所需的线程执行处理,处理结束后,系统会结束不需要的线程。

         两种形式的queue根据用户需求来定义,如果希望按顺序执行,那么就创建Serial Dispatch Queue,如果希望并行执行,并且执行顺序无关重要,那么就可以使用Concurrent Dispatch Queue。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值