进程vs线程

2018-08-30  本文已影响0人  RedHatMe

from知乎:

  1. 进程就是包换上下文切换的程序执行时间总和 = CPU加载上下文+CPU执行+CPU保存上下文。

  2. 线程就是 进程的 CPU执行 过程中一个更小的CPU时间段 ,但是这些时间段的CPU执行都共享了进程之前加载的上下文环境 ,也就是资源。

  3. 简单来说 就是 进程和线程是CPU不同颗粒度时间 运行的一种表现。

from教科书:

  1. 进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。即 进程统管 资源。线程只关心CPU调度[利用多核等]。
  2. 线程相比于进程主要是减少了上下文切换的耗时。调度起来更轻量级,同时线程提升系统的并发性能。
  3. 一个进程可以没有线程,作为空进程存在,但是由于里面没有线程,cpu在这里无法得到执行,cpu的执行依附于线程。
  4. 线程也有可以有自己的内存。如 栈 寄存器等等。所以 线程切换时也有自己的上下文需要保存 恢复。
  5. 线程之间共享的资源有 堆,全局变量,文件等。
上一篇下一篇

猜你喜欢

热点阅读