进程与线程


进程

进程是计算机资源分配的最小单位。

打开个人电脑的任务管理器,选择进程选项,可以看到应用进程后台进程Windows进程,下图中应用进程里的微信就是一个单独的进程,是计算机分配CPU、内存、磁盘和网络等资源的最小单位。


图示 任务管理器中的进程

线程

线程是CPU(Central Processing Unit)调度的最小单位

一个关于进程与线程的形象比喻。进程是火车,线程是车厢,火车轨道是计算机资源,乘客是数据。

  • (1)线程在进程下发挥作用。车厢独立于火车是无法运行的。(火车头、动车组车厢这种不利于浅显理解进程线程的说法暂且不谈)
  • (2)一个进程至少包含一个线程。一辆火车至少包含一节车厢,比如只有火车头也可以运行。
  • (3)不同进程间数据很难共享。A火车上的乘客很难换到B火车。
  • (4)同一进程中的不同线程间数据很容易共享。比如乘客从卧铺车厢前往同一列火车的餐厅车厢很容易。
  • (5)多进程比多线程更占用计算机资源。多列火车同时进站需要占用多条轨道,而一列火车即使包含很多车厢也只要占用1条轨道。
  • (6)进程间不会相互影响,但是同一进程中的某个线程出问题,会影响整个进程。两列火车在正常运行下不会相互干扰(进站情况除外),但是同一列火车中的某一节车厢出现恐怖袭击,整列火车都得停运处理。