标签:
同步和异步
异步: 指的就是多线程, 把`对应的代码`放到其他线程中去执行, 当前线程的代码就继续往下执行,不需要等到刚才放到子线程中的代码执行完毕.
同步执行函数: 这个实际的应用场景不多 , 了解即可
登录,注册 需要放到一个队列中去执行
下载文件 需要放到另外一个队列去执行
异步执行函数:
串行队列特点: 如果要开启线程,只会开启一条线程
(同步函数执行时, 如果队列是串行队列,不需要开启线程, 任务在当前线程中执行)
(异步函数执行时, 如果队列是串行队列,可以开启线程,并且只能开启一条线程)
并发队列特点: 可以开启多条线程, iOS8以前开启线程的数量是有限制的. 以后就可以开很多线程.
(同步函数执行时, 如果队列是并发队列,不需要开启线程,任务在当前线程中执行)
(异步函数执行时, 如果队列是并发队列,可以开启线程,并且可以开启多条线程)
执行函数和队列进行组合使用时: ***开不开启线程和队列没有关系,只由执行函数决定.
***开几条线程由队列决定,和执行函数没有关系 (串行,一条-----并发,多条).
全局队列: 是系统给我们提供的一个并发队列
主队列: 把任务放到主队列中就表示要在主线程里执行任务里的代码
-----------------------
注意:
dispatch_after 这个函数不管队列是什么都是异步执行任务
如果执行队列是主队列, 这个执行函数不会开启新的线程
标签:
原文地址:http://www.cnblogs.com/thinkToShare/p/5642112.html