进程和线程【区分】

进程和线程【区分】

1、形象比喻

进程是一辆载有乘客的火车,线程是其中一节车厢

2、从JVM角度说明进程和线程的联系

进程和线程【区分】

  • 一个进程可以有一个/多个线程
  • 多个线程共享所在进程的堆和方法区资源
  • 每个线程有自己的程序计数器/虚拟机栈/本地方法栈

3、进程是资源分配的最小单位,线程是CPU调度的最小单位

4、《操作系统》给出的定义

进程:

  • 正在执行的一个程序
  • 程序的一次执行过程
  • 能分配给处理器并由处理器执行的实体
  • 有:新建态、就绪态、运行态、阻塞态、结束态五种状态
  • 进程和线程【区分】

线程:

  • 拥有资源所有权的是进程,分派的单位通常称为线程/轻量级进程

参考:《操作系统:精髓与设计原理》