首页 > 编程语言 > 详细

多线程

时间:2015-10-26 20:21:08      阅读:277      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

1.基本概念

   1.1 进程

              进程是指在系统中正在运行的一个应用程序.每个进程之间是独立的,每个进程之间均运行在其专受保护的内存空间内.

   1.2 线程

              基本概念:一个线程要想执行任务,必须得有线程(每个进程中至少有一个线程). 线程是进程基本执行单元,一个进程的所有任务都在线程中执行. 

              线程的串行:一个线程中任务的执行是串行的,要想在一个线程中执行多个任务,那么只能一个一个的按顺序执行这些任务.也就是说,在同一时间里,一个线程只能执行一个任务.

   1.3 多线程   

                 基本概念:即一个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务.

                 线程的并行:并行也就是同时执行.比如同时开启3条线程分别下载3个文件(分别是文件A, 文件B, 文件C).     进程 ==> 车间         线程 ==> 车间工人

                 多线程并发执行的原理:在同一时间里,CPU只能处理一条线程,只有一条线程在执行. 多线程并发(同时)执行,其实是CPU快速的在多条线程之间调度(切换),如果CPU调度的时间足够快,就造成了线程并发执行的假象.

                 多线程的优缺点:

                                     a优点 1>能适当提高程序的执行效率

                                              2>能适当提高资源的利用率(CPU, 内存利用率)

                                     b缺点 1>开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB,每创建线程需耗时90毫秒)如果开启大量的线程,会占用大量的内存空间,降低程序的性能.

                                              2>线程越多,CPU在调度线程上的开销就越大

                                              3>程序设计更加复杂:比如线程之间的通信, 多线程的数据共享

   1.4 主线程

                 基本概念:一个iOS程序运行后,默认会开启一条线程,称之为"主线程" 或 "UI线程"

                 主要作用: 1>显示\刷新UI界面

                               2>处理UI事件 (比如点击事件, 滚动事件, 拖拽事件等)

                 使用注意: 1>别将比较耗时的操作放到主线程中

                               2>耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种"卡"的不好体验.

                               3>和UI相关的刷新操作必须放到主线程中进行处理.

2.实现方案

3.RunLoop

4.其它

---恢复内容结束---

多线程

原文:http://www.cnblogs.com/dawei-dawei/p/4912204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!