什么是进程?
为了能使计算机程序并发执行,并且可以对并发执行的程序加以描述和控制,引入了“进程”的概念。从其它角度来看,进程还有以下三种解释:
- 进程是计算机程序的一次执行过程。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的独立单位。
进程的特征
动态性:进程的实质是程序的一次执行过程。
并发性:任何进程都可以同其它进程一起向前推进。
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的基本单位。
异步性:由于进程间的相互制约,使得进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。
进程的基本状态
就绪状态:进程已经获得除CPU以外所有的必需资源。
执行状态:进程正在CPU上运行。
阻塞状态:正在执行的进程因某种事件而暂时无法继续运行。
什么是线程?
引入线程可以大大降低计算机程序并发执行时的开销。在未引入线程之前,为了使程序能够并发执行,系统需要进行1. 创建进程 2. 撤销进程 3. 切换进程等操作。
线程的特点
- 轻量级的实体
- 独立调度和分派的基本单位
- 可以并发执行
- 共享进程资源
线程的运行状态
- 就绪状态:线程已经具备了除CPU以外的所有执行条件,一旦获得CPU便可执行。
- 执行状态:线程正在处理机上运行。
- 阻塞状态;线程在执行中因为某事件受阻,处于暂停执行的状态。
线程和进程的比较
- 系统调度的基本单位
- 并发性
- 拥有资源
- 独立性
- 系统开销
- 支持多处理机系统