进程
定义
进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。
特点
- 动态性:进程是程序的一次执行,具有生命期
- 独立性:资源分配和调度的一个独立单位
- 并发性:可以并发执行
- 异步性:进程间相互制约
- 结构性:进程具有结构(程序、数据、进程控制块(PCB))
线程
引入原因
进程在创建、撤销和切换过程中付出的时空开销较大,引入线程能在更好地并发(并行)执行的同时,尽量减少系统的开销
定义
线程是进程内的一个执行单元,是进程内的一个可调度实体。
优势
- 响应速度快
- 资源共享
- 系统开销低
特点
- 独立调度和分配的基本单位
- 并发
- 动态
- 结构
进程 VS 线程
进程 | 线程 | |
---|---|---|
资源 | 独立地址空间、数据、代码段 | 共享进程资源 |
调度 | 需进行进程上下文切换,开销大 | 只需交换线程资源,开销小 |
并发 | 并发效率较低 | 进程间、进程内的多线程之间可并发执行,效率高 |
安全性 | 不会出现脏数据 | 线程之间容易出现脏数据 |