浅谈进程和线程的区别和联系

版权声明:转载请注明博主地址 https://blog.csdn.net/weixin_43885417/article/details/86575434

简单的说,进程包含线程。线程是进程的一个实体。首先,我们先看一下
进程定义:
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体
线程定义:
线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
那么我们从以下几个方面进行比价:
地址空间:
线程是进程内的一个执行单元,进程至少拥有一个线程,同属于一个进程的多个线程共享该进程的地址空间;而进程则有自己独立的地址空间。
资源拥有:
进程是资源分配和拥有的基本单位,同一个进程所属的多个线程共享进程所有资源。
处理机调度:
线程是处理机调度的基本单位。
能否并发执行:
线程和进程均可以并发执行。

猜你喜欢

转载自blog.csdn.net/weixin_43885417/article/details/86575434