码迷,mamicode.com
首页 > 移动开发 > 详细

ios多线程中 同步、异步与队列之间的关系

时间:2016-07-05 01:04:40      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:

同步和异步

异步: 指的就是多线程, 把`对应的代码`放到其他线程中去执行, 当前线程的代码就继续往下执行,不需要等到刚才放到子线程中的代码执行完毕.

 

同步执行函数: 这个实际的应用场景不多 , 了解即可

            登录,注册 需要放到一个队列中去执行

            下载文件 需要放到另外一个队列去执行

 

异步执行函数:

    串行队列特点: 如果要开启线程,只会开启一条线程

                (同步函数执行时, 如果队列是串行队列,不需要开启线程, 任务在当前线程中执行)

                (异步函数执行时, 如果队列是串行队列,可以开启线程,并且只能开启一条线程)

 

    并发队列特点: 可以开启多条线程,  iOS8以前开启线程的数量是有限制的. 以后就可以开很多线程.

                (同步函数执行时, 如果队列是并发队列,不需要开启线程,任务在当前线程中执行)

                (异步函数执行时, 如果队列是并发队列,可以开启线程,并且可以开启多条线程)

 

执行函数和队列进行组合使用时: ***开不开启线程和队列没有关系,只由执行函数决定.

                          ***开几条线程由队列决定,和执行函数没有关系 (串行,一条-----并发,多条).

 

    全局队列: 是系统给我们提供的一个并发队列

 

 

    主队列: 把任务放到主队列中就表示要在主线程里执行任务里的代码

 

----------------------- 

注意:

dispatch_after  这个函数不管队列是什么都是异步执行任务

                如果执行队列是主队列, 这个执行函数不会开启新的线程

 

ios多线程中 同步、异步与队列之间的关系

标签:

原文地址:http://www.cnblogs.com/thinkToShare/p/5642112.html

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