面试问题之操作系统:进程与线程的区别

进程与线程的区别:

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

  2、线程依赖于进程而存在,一个线程只能属于一个进程,一个进程可以有一个线程或者多个线程。

  3、进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。(资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量)、数据段(全局变量和静态变量)、扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量)

  4、进程编程调试简单可靠性高,但是创建销毁开销大;线程正相反,开销小,切换速度快,但是编程调试相对复杂。

  5、进程间不会相互影响;而一个线程挂掉将导致整个进程挂掉。

  6、进程适应于多核、多机分布;线程适用于多核

  

原文地址:https://www.cnblogs.com/yichengming/p/11447533.html