多线程
Posted 策码扬编
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程相关的知识,希望对你有一定的参考价值。
一 多线程基础
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自动管理线程的生命周期.
以上是关于多线程的主要内容,如果未能解决你的问题,请参考以下文章