【操作系统】进程与线程的比较

调度单位

  • 引入线程后,线程是处理机调度的基本单位,进程是资源分配的基本单位,而不再是一个可执行的实体。
  • 在同一进程中线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。

并发性

  • 引入线程后,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。
  • 多个线程会争夺处理机,在不同的状态之间进行转换。线程也是一个动态的概念,也有一个从创建到消亡的生命过程,具有动态性。

资源分配

  • 进程是资源分配的单位,一般线程自己不拥有系统资源,但可以访问其隶属进程的资源。
  • 同一进程中的所有线程都具有相同的地址空间(进程的地址空间)。

独立性

  • 同进程的不同线程间的独立性要比不同进程间的独立性低得多。
  • 多个线程共享进程的内存地址空间和资源。

系统开销

  • 创建、撤销一个新线程系统开销小。
  • 两个线程间的切换系统开销小。
  • 在一些OS 中,同一进程内的线程之间切换、同步、相互通信无须内核干预。

支持多处理机系统

  • 同进程的不同线程可以分配到多个处理机上执行,加快了进程的完成。
  • 现代OS 全部支持多线程。

进程与线程的存在方式

【操作系统】进程与线程的比较_第1张图片

【操作系统】进程与线程的比较_第2张图片

图示

你可能感兴趣的:(操作系统,操作系统,线程,进程)