1>.多线程的作用:可以解决负载均衡问题,充分利用CPU的资源.为了提高CPU的使用率,才用多线程的方式去同时完成几件事情而不互相干扰
2>.大多情况下,要用到多线程的主要是需要处理大量的IO操作时或处理的情况需要耗时大量的时间等等,比如:读写文件,视频图像采集-处理-显示-保存等
3>.ios中多线程的方法主要有三种:1.NSThread 2.NSOperation 3.GCD
4>.多线程中的区别有:
NSOperatin与GCD之间的区别:
a.GCD是iOS4.0推出的,主要针对多核CPU做了优化,是C语言技术
(1).GCD将任务(block)添加到队列中(串行/并行/全局/主队列),并且以同步/异步的方式执行任务的函数
(2).GCD提供一些NSOperation不具备的功能
1. 一次性执行
2.延迟执行
3.调度组
b.NSOperation
(1).NSOperation是iOS2.0推出的,iOS4之后重写了NSOperation
(2).NSOperation将操作(异步任务)添加到队列(并发队列),就会执行指定操作的函数
(3).NSOperation 里提供的方便的操作
1.最大并发数
2.队列的暂停/继续
3.取消所有的操作
4.指定操作之间的依赖关系(GCD可以同时实现)
GCD与NSThread的区别
1>.NSThread通过@selected指定要执行的方法,代码分散
2>.GCD通过block指定要执行的代码,代码集中,所有的代码写在一起 让代码更加简单,易于阅读与维护
3>.使用GCD不需要管理线程的创建/销毁/复用的过程,程序员不用管理线程的生命周期
4>.如果要开多个线程NSThread必须实例化多个线程对象
5>.NSThread靠NSObject的分类方法实现的线程间通讯