1. 定义
1.1 进程
- 一个正在执行中的程序。
- 一个正在计算机上执行的程序实例。
- 能分配给处理器并由处理器执行的实体。
- 一个由单一顺序的执行线索、一个当前状态和相关的系统资源所描述的活动单元。
- 是操作系统中拥有资源所有权的基本单位。
1.2 线程
- 有时被称为轻量级进程,是进程中的一个实体,一个任务。
- 是操作系统中调度和分派的基本单位。
2. 相同点
- 不仅进程之间可以并发执行,同一个进程中的多个线程之间也可并发执行。
3. 不同点
- 调度:进程是作为拥有资源所有权的基本单位,而线程是作为调度和分派的基本单位。
- 拥有资源:进程是拥有资源的一个独立单位(进程间相互独立,各自的拥有的资源只有自己可见可用),线程不拥有系统资源,但可以访问隶属于的那个进程中的资源(某个进程中的多个不同线程共享该进程所拥有的资源。该进程中的这些线程对于其他进程不可见)。
- 系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。