多线程的作用以及什么地方用到多线程?

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的分类方法实现的线程间通讯

你可能感兴趣的:(多线程的作用以及什么地方用到多线程?)