码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2016-03-17 00:12:01      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

一 多线程基础

 1.进程:进程就是系统中正在运行的应用程序.每个进程是相互独立的且都运行在各自受保护的运行空间内.  

  比如同时打开迅雷、Xcode,系统就会分别启动2个进程.

  2.线程:进程在执行任务是必须开辟线程,进程中的所有任务都在线程中进行.一个进程可以开辟一条线程,也可以开辟多条线程.

  比如酷狗音乐这个进程在执行播放音乐这个线程的同时,还在执行下载音乐这条线线程.

二 线程的串行

  在同一时间一个线程只能执行一个任务,如果一个线程有多条任务要执行就得按先后顺序执行,一个线程不能同时进行多个任务.

三 多线程

  一个进程可以开辟多条线程,每条线程可以执行不同的任务,看上去是每条相称在同时进行,其实是CPU在不同线程间快速的切换.

  CPU在同一时间只能执行一条线程.

  多线程技术可以提高执行程序的效率,提高资源利用率.

  但是在创建线程耗内存耗时间,且如果线程开辟太多也会降低程序的性能,而且多线程的程序设计难度也更大.

四 多线程在IOS开发中的应用

  一个iOS程序运行后,会自动开辟主线程(又叫UI线程).

  主线程主要用来显示和刷新UI界面以及处理UI事件.

  主线程使用过程中的注意事项:主线程处理耗时操作时会有卡死的感觉,影响UI的流畅度,因此不可将耗时较多的操作放在主线程中.

  主线程只用来显示和刷新UI界面以及处理UI事件.

五 多线程的实现方案

  1.pthread 几乎不用

  2.NSThread 几乎不用

  3.GCD 常使用

    GCD基于C语言,自动管理现成的生命周期,可从分利用多喝处理器来处理线程. 

  4.NSOperation 常使用

    NSOperation基于GCD自动管理线程的生命周期.

 

多线程

标签:

原文地址:http://www.cnblogs.com/codermaker/p/5285754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!