多线程的作用以及什么地方用到多线程?
2016-07-31 13:09
281 查看
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的分类方法实现的线程间通讯
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的分类方法实现的线程间通讯
相关文章推荐
- 简述多线程的作用以及什么地方会用到多线程? OC实现多线程的方法有哪些?
- Python的“切片”:什么是切片?切片有什么作用?哪些地方会用到切片?
- spring是什么,有什么作用,主要用在什么地方
- spring是什么,有什么作用,主要用在什么地方
- ASP.NET中多线程可以应用到什么地方?
- createTextRange()方法在js中有什么作用,以及验证输入是否为数字及获得文本框的焦点
- 【计算机网络常见面试题】TLL是什么?作用?哪些工具用到它?
- 什么时候该使用多线程,以及更恰当的多线程编程方法之讨论
- 在C++中用虚函数的作用是什么?为什么要用到它?
- 流程管理系统主要作用是什么,以及怎样选择业务架构?
- java volatile是什么关键子,以及在线程中的作用。
- 虚函数在C++中用的作用是什么? 为什么要用到虚函数?
- spring是什么,有什么作用,主要用在什么地方
- 什么是web services?它有什么作用,以及它如何实现?
- 什么是web services?它有什么作用,以及它如何实现?
- 【解答】arm架构的linux内核中,clrex指令的作用是什么,内核中什么时候才会用到?
- spring是什么,有什么作用,主要用在什么地方
- 什么是web services?它有什么作用,以及它如何实现?
- 存储过程作用是什么,优缺点以及适用范围是什么?
- C# 里面的 #region 是什么意思 以及partial 作用