关于——多线程

通过近期的学习,发现还是写点博客吧。有几下因素

第一、记忆更深刻,第二、方便以后的查阅,与复习。

废话不多说,开始写笔记

———————————————————华丽的分割——————————————————————

为什么要学习多线程

为了能给用户提供更好的体验。让APP运行更流畅。个人总结

想要了解多线程,首先要明白什么是,进程、线程、

一、什么是进程

     进程就是,正在系统中运行的程序。如:QQ、迅雷、微博等。进程与进程之间,是相互独立的运行在内存中。

     如:开启迅雷,就是开启了一条进程。

二、什么是线程

    线程就是处理进程的任务。也可以认为,用户与APP的交互任务,是在线程中执行的。

   如:迅雷在执行下载任务,就是在线程中执行。

三、线程的串行

      1个线程中任务的执行是串行的

     如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务。

     举例:好比说,一个群人,在排队买票。售票员只能一个一个的去售票。不能同时处理两人的买票业务。(貌似有点不是很严谨)

四、多线程

     1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务 这就是多线程。

     如:迅雷可以开启多个下载任务。

    * 多线程的原理

     同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)

     多条线程同时执行,其实是CPU快速地在多条线程之间切换

     如果CPU切换线程的时间足够快,就造成了多线程并发执行的假象。

 

   *.多线程的优缺点

      多线程的优点

     能适当提高程序的执行效率

     能适当提高资源利用率(CPU、内存利用率) 

    * 多线程的缺点

     开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会占用大量的内存空间,降低程序的性能

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

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

   * 多线程在iOS开发中的应用

    主线程:一个iOS程序运行后,默认会开启1条线程,称为“主线程”或“UI线程”

    主线程的主要作用

    显示\刷新UI界面

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

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

     耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种“卡”的坏体验。

注释:此笔记是,根据文顶顶老师博客而写

 文顶顶老师博客:http://www.cnblogs.com/wendingding/

关于多线程的文章地址:http://www.cnblogs.com/wendingding/p/3805088.html

     

posted @ 2015-11-28 14:50  马路对面那个  阅读(49)  评论(0编辑  收藏  举报