iOS GCD的一些小结

来源:互联网 发布:seo常用外链资源整理 编辑:程序博客网 时间:2024/05/17 09:08

1 串行 同步 

不会开启新线程

在主线程里顺序执行

线程里的任务严格按照代码的顺序执行,(任务会立即执行)


2 串行 异步

会开启新线程

在新线程里顺序执行

线程里的任务执行顺序放在其他的任务后面 (任务不会立即执行)


3 并行 同步

不会开启新线程

在主线程里顺序执行

线程里的任务严格按照代码的顺序执行,(任务会立即执行)


4 并行 异步

会开启新线程

在每个新线程里执行,不是顺序执行

线程里的任务执行顺序放在其他的任务后面 (任务不会立即执行)



主队列不能开启新的线程

所以async不会开新线程,且任务会顺序执行

主队列不能用sync,会造成思索

sync是要立即执行任务,而此时主任务正在执行这个任务,所以会造成死锁


0 0