美文网首页
进程、线程与协程详解

进程、线程与协程详解

作者: 0981b16f19c7 | 来源:发表于2019-07-06 14:50 被阅读0次

进程

定义

进程是系统进行资源分配和调度的基本单位。

组成

进程是一个实体,每个进程都有它自己的地址空间,一般情况下,包括文本区域,数据区域和堆栈。文本区域存储处理器执行的代码,数据区域存储变量和进程执行期间使用的动态分配的内存,堆栈区域存储活动过程调用的指令和本地变量。

特征

动态性

进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的

并发性

任何进程都可以同其他进程一起并发执行

独立性

进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位

异步性

由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

结构特征

进程由程序、数据和进程控制块三部分组成

多个不同的进程可以包含相同的程序

一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变

线程

定义

线程,有时被称为轻量级进程。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

组成

线程ID,当前指令指针(PC),寄存器集合和堆栈组成

特征

轻型实体

线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。

独立调度和分派的基本单位

在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)

可并发执行

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。

共享进程资源

同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

协程

定义

协程,又称微线程,纤程。协程可以理解为线程内部调度的基本单位

相关文章

网友评论

      本文标题:进程、线程与协程详解

      本文链接:https://www.haomeiwen.com/subject/zfuphctx.html