【操作系统】进程与线程的区别

版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/82256543

                                            进程与线程的区别

进程与线程是两个比较容易混淆的概念,但实际上他们是两个不一样的东西。

 

一、各自包含什么?

进程是线程的容器,因此简单地来讲,一个进程内部包含一个或多个线程。


线程是进程的一个实体,包含程序计数器(指向当前指令)、寄存器(存储线程内的局部变量)和堆栈。

 

二、可独立运行吗?

进程是正在运行程序的一个实例,因此进程可以独立运行。


线程依托于进程,线程不可独立于进程而运行。

 

三、拥有系统资源吗?

进程是系统进行资源分配基本单位,所以拥有系统资源。


线程不拥有系统资源,或者说很少。

四、独立还是共享

各个进程有独立的地址空间,即进程间互独立。


处在同一个进程内的所有线程共享此进程内的所有资源,即同一进程内的线程资源共享。

 

五、创建与切换的开销比较

从狭义上来讲,进程是正在运行的程序的一个实例,启动一个程序即创建一个进程,开销是很大的。


线程是一种轻量级的进程,线程比进程小,基本上不拥有系统资源,因此创建线程的开销比创建进程小得多。

 

猜你喜欢

转载自blog.csdn.net/qq_33591903/article/details/82256543