乘着十一假期空闲在家,可以好好整理一下多线程编程的知识点。
GCD任务和队列
任务
:就是执行操作的意思。
队列(Dispatch Queue)
:这里的队列指执行任务的等待队列,即用来存放任务的队列。
小结:
同步函数不具备开启线程的能力,无论是什么队列都不会开启线程;异步函数具备开启线程的能力,开启几条线程由队列决定(串行队列只会开启一条新的线程,并发队列会开启多条线程)换句话说,异步执行(async)虽然具有开启新线程的能力,但是并不一定开启新线程。这跟任务所指定的队列类型有关。
同步函数
(1)并发队列:不会开线程
(2)串行队列:不会开线程
异步函数
(1)并发队列:能开启N条线程
(2)串行队列:开启1条线程
GCD的使用步骤
GCD的其他方法
多线程适用场景
###
参考资料:
1.https://www.jianshu.com/p/4b1d77054b35
2.iOS 多线程:『GCD』详尽总结 写得根详细,特别是对几种组合的罗列
3.iOS多线程到底不安全在哪里?
4.iOS 开发多线程 —— GCD
5.iOS App 使用 GCD 导致的卡顿问题
6.多线程与网络
近期评论