多线程
什么是多线程
- 1个进程中可以开启多条线程,每条线程可以并行(同时)执 行不同的任务
- 进程 -> 车间,线程 -> 车间工人
- 多线程技术可以提高程序的执行效率
多线程的原理
- 同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)
- 多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
- 如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象
IOS中的多线程
- IOS程序运行之后,会开启1条默认的线程,称之为“主线程”或者叫"UI线程"
- 主线程的主要作用
- 显示页面,刷新页面
- 处理UI事件(例如点击事件)
IOS中实现多线程的几种技术
- pthread
- 跨平台,可移植,但是使用难度稍大,适用于多种平台,是一套通用的的多线程API
- 语言:C
- 线程声明周期:程序员管理
- NSThread
- 面向对象的,比较易用的多线程技术
- 语言:OC
- 线程声明周期:程序员管理
- GCD
- 可以充分利用现在的多核设备,是现在IOS比较常用的多线程技术
- 语言:C
- 线程声明周期:自动管理
- NSOperation
- 基于GCD,但是封装成了OC语言的方法,更加面向对象,比GCD多了一些更简单实用的功能
- 语言:OC
- 线程声明周期:自动管理