GCD多线程
从天而降的一种掌法
这个作者很懒,什么都没留下…
展开
-
GCD的调度组和延迟执行、一次性执行
调度组范例//实例化调度组 dispatch_group_t group = daspatch_group_greate(); //创建队列 dispatch_queue_t queue = dispatch_get_glabal_queue(0,0); //任务加入 dispatch_group_async(group, queue, ^{ NSLog(@"A任务---%@", [NSTh原创 2016-05-16 13:18:57 · 211 阅读 · 0 评论 -
GCD和NSOperation对比
GCD 1、将任务(block)添加到队列(串行/并发),指定执行任务的方式(同步/异步)。 2、获取主队列用dispatch_get_main_queue()。 3、可以做到一次性执行,延迟执行。 4、提供了NSOperation不好实现的调度组。NSOperation 1、将操作(异步执行)添加到队列(并发/全局)。 2、使用[NSOperationQueue mianQueue]把原创 2016-05-16 14:59:17 · 232 阅读 · 0 评论 -
GCD主队列、全局队列
主队列专门负责在主线程上调度任务 主队列执行同步任务造成死锁 特点就是不允许开新线程,在这个队列里只能顺序执行任务把任务放到主线程执行:1、获得主队列。2、放进去执行。 dispatch_queue_t queue = dispatch_get_main_queue(); dispatch_sync(queue, ^{ NSLog(@”%@ %d”, [NSThread curre原创 2016-05-16 12:05:19 · 287 阅读 · 0 评论 -
GCD串行并发同步异步基本概念
一般只要使用同步执行,串行队列对于添加的同步任务会立即执行 GCD中函数都是以dispatch开头 GCD中,创建队列的时候决定串行并发,执行的时候决定同步异步。 同步异步决定是否开新线程,串行并发决定开几个线程。dispatch调度;queue队列;sync同步;async异步;concurrent并发;serial串行。 串行队列:按顺序一个一个执行。 并发队列:同时执行多个任务,创建原创 2016-05-16 11:34:11 · 716 阅读 · 0 评论