首页 > 编程语言 > 详细

进程与线程的区别和联系

时间:2019-12-14 21:12:59      阅读:95      评论:0      收藏:0      [点我收藏+]

(1)进程是资源分配的基本单位。进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。

  而线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源

 

(2)当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间

 

(3)线程只由相关堆栈寄存器和线程控制块组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。

 

(4)进程切换时涉及到有关资源指针的保存以及地址空间的变化等问题;

    线程切换,由于同一进程内的线程共享资源和地址空间,将不涉及资源信息的保存和地址变化问题

  而且,进程的调度与切换都是由操作系统内核完成,而线程则既可以由操作系统完成,也可以由用户程序进行

 

(5)进程间的关系比较疏远。各个进程是在自己独有的地址空间内执行,不但寄存器和堆栈是独有的,动态数据堆、静态数据区和程序代码也相互独立。

    而线程间的关系则要紧密得多,虽然各线程为保持自己的控制流而独有寄存器和堆栈,但由于两线程从属于同一进程,它们共享同一地址空间,所以动态数据堆、静态数据区和程序代码为各线程共享。

进程与线程的区别和联系

原文:https://www.cnblogs.com/reflecter/p/12040837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!