iOS 多线程
2018-05-11 本文已影响9人
爱吃麦子的鱼
一、基础概念
1、同步、异步是来形容任务的
开启新线程:同步不开启,异步开启
2、串行、并行是来形容队列的
开几条线程:同步开一条,异步:n条
3、联系
- 队列是用来管理线程的
- GCD是将任务添加到队列里
- 任务和线程的概念相当
二、多线程技术
NSThread —— GCD —— NSOperation
1、NSThread
优点:量级比较轻 使用简单
缺点:不能控制线程的执行顺序,自己管理线程的生命周期,线程的同步,加锁,睡眠等。
2、GCD
优点:线程的生命周期由系统和自己分配,采用block代码块使程序更加便于阅读和修改
缺点:除全局队列以外任何由GCD创建的队列无法设置优先级
3、NSOperation
优点:iOS4在GCD推出以后对GCD的封装,更加方便的管理并发和线程之间的优先级
缺点:更加高级抽象
二、GCD的使用
1、创建队列
2、将任务追加到队列中
GCD.jpg
这只是简单的记录,给自己看的。有需要的小伙伴也可以瞅瞅。不对的地方希望可以多多指正
参考
https://www.jianshu.com/p/2d57c72016c6
https://www.jianshu.com/p/bbeff94931ac