? 如果不指定,每一个模块,都会生成自己的一个串行队列。可以通过强行声明一个队列来指定所有方法都在这个队列执行- (dispatch_queue_t)methodQueue{ return dispatch_get_main_queue();}methodQueue方法会在模块被初始化的时候被执行一... ...
分类:
其他好文 时间:
2017-08-20 15:48:57
阅读次数:
236
GCD的队列能够分为2大类型,分别为串行队列和并发队列 串行队列(Serial Dispatch Queue): 一次仅仅调度一个任务,队列中的任务一个接着一个地运行(一个任务运行完成后。再运行下一个任务) 创建一个队列 dispatch_queue_t q = dispatch_queue_cre ...
分类:
移动开发 时间:
2017-07-22 12:02:01
阅读次数:
251
前言-死锁案例 案例分析:运行结果是程序阻塞在dispatch_sync()处。由于main线程执行到dispatch_sync()处,线程处于等待状态。将block任务块添加到主串行队列最后,block等待当前任务(即正在主线程中执行的任务)执行完毕,而当前任务因为阻塞无法结束,导致两边都在等待, ...
分类:
其他好文 时间:
2017-06-09 20:19:43
阅读次数:
225
多线程介绍 >添加到Dispatch Queue中的任务 按照FIFO 先进先出处理 //串行队列 vs并行队列 ...
分类:
其他好文 时间:
2017-05-24 09:56:15
阅读次数:
197
接着上面的GCD封装,以下进行列子验证 1.导入GCD.h 2.创一个串行队列: - (void)serailQueue{ //创建出队列 GCDQueue *queue = [[GCDQueue alloc]initSerial]; //运行队列中的线程 [queue execute:^{ NSL ...
分类:
其他好文 时间:
2017-05-01 18:20:25
阅读次数:
239
同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结 在GCD函数中, 我们常常碰到同步,异步,串行队列,并发队列,全局队列,主队列等概念,而这些概念又常常组合在一起, 十分头疼, 这篇文章就来梳理一下这些烦人的概念. 不想看长篇大论的, 直接看文章末尾的表格即可! 在此之前, GCD中还涉 ...
分类:
其他好文 时间:
2017-04-28 10:22:02
阅读次数:
142
一、队列 1、获取全局的并发队列 2、创建一个串行队列 3、获取主队列 二、执行函数 1、将任务添加到xx队列中去异步执行 2、将任务添加到xx队列中去同步执行 三、线程间的通信 四、延迟执行 1、3秒后回到主线程执行block中的代码 2.3秒后自动开启新线程执行block中的代码 五、一次性执行 ...
分类:
其他好文 时间:
2017-04-20 23:57:15
阅读次数:
477
41 多用派发队列,少用同步锁 总结:当多个线程执行同一份代码时,可能会出现问题,这时有@synchronized(self){}内置同步块。或NSLock对象。然而这只是某种程度上的线程安全,使用串行同步队列(serial sychronization queue).更有效率的方法是使用串行队列同 ...
分类:
其他好文 时间:
2017-03-23 20:54:54
阅读次数:
309
1 串行队列,异步执行 所有异步添加到串行队列上的任务,都会在串行队列所创建的那个线程中去执行。 2 串行队列,同步执行 都会在主线程执行 3 并行队列,异步执行 会启动多个线程并行执行,完成结果没有顺序 4 并行队列,同步执行 都会在主线程执行 5 计时器 dispatch_source_t NS ...
分类:
其他好文 时间:
2017-02-24 12:32:06
阅读次数:
253
http://www.jianshu.com/p/ae786a4cf3b1 本篇博客共分以下几个模块来介绍GCD的相关内容: 多线程相关概念 多线程编程技术的优缺点比较? GCD中的三种队列类型 The main queue(主线程串行队列) Global queue(全局并发队列) Custom ...
分类:
移动开发 时间:
2016-12-12 14:41:59
阅读次数:
300