进程与线程

进程

进程(process) 是更大的单位,进程间不共享内存

  • 一个程序的运行实例叫作进程。
  • 一些操作系统中该程序的运行实例也叫作任务(task)。
  • 运行在主内存(RAM)中。
  • 进程可看作内存中活动的主体,关机后消失。
  • 多核系统下,多个进程可同时进行。
  • 单核情况下,真实的多进程是不存在的。但可通过调度算法,让每个进程间隔着运行达到虚拟的多进程效果。

比如同时打开多个记事本,每个运行的记事本便是一个进程。

线程

线程(thread) 是更小的单位,进程中可包含多个线程,线程间共享内存。

  • 线程是进程的子集。
  • 可理解为轻量的进程。表现上像进程,但运行于进程内且与进程中其他线程共享内存资源。
  • 通常一个进程中同时只一个线程某组指令在运行。但也可有多个线程同时运行其程序指令。
  • 多核系统下,进程中多线程可实现真实的并行计算。
  • 进程中所有线程共享内存及资源,这些资源即系统分配给该进程的。
  • 线程间因为共享内存,所以数据互传变得简单。

相关资源