第72课 进程与线程的概念
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第72课 进程与线程的概念相关的知识,希望对你有一定的参考价值。
1. 程序和进程的概念
|
程序 |
进程 |
概念 |
程序是计算机存储系统中的数据文件 ①源代码程序:文本文件,描述程序行为和功能 ②可执行程序:二进制文件,直接加载并执行。 |
①广义概念:程序关于某个数据集合的一次运行活动 ②狭义概念:程序被加载到内存中执行后得到进程 |
区别 |
程序是硬盘中静态的文件:存储系统中的一段二进制表示 |
进程是内存中动态的运行实体:数据段、代码段、PC指针等。 |
联系 |
一个程序可能对应多个进程。比如,一个程序多次运行,每次运行产生一个进程 |
一个进程可能包含多个程序。比如,一个程序依赖多个其它动态库。 |
注意 |
在当代操作系统中,资源分配的基本单位是进程;而CPU调度执行的基本单位是线程。 |
2. 线程的概念
(1)进程内的一个执行单元
(2)操作系统中一个可调度的实体
(3)进程中相对独立的一个控制流序列
(4)执行时的现场数据和其他调度所需的信息。
3. 再论main函数
(1)C/C++程序被执行后从main函数开始运行。
(2)其运行过程:
(3)线程是进程使用CPU资源的基本单位。
4. 深入理解进程和线程
(1)进程中可以存在多个线程并行执行,共享进程资源
(2)线程是被调度的执行单元,而进程不是调度单元。
(3)线程不能脱离进程单独存在,只能依赖于进程运行。
(4)线程有生命期,有诞生和死亡。
(5)任意线程都可以创建其它新的线程。
5. 小结
(1)程序是物理存储空间中的数据文件
(2)进程是程序运行后得到的执行实体
(3)线程是进程内部的具体执行单元
(4)一个进程内部可以有多个线程存在
(5)进程是操作系统资源分配的基本单位
(6)线程是操作系统调度执行的基本单位。
以上是关于第72课 进程与线程的概念的主要内容,如果未能解决你的问题,请参考以下文章
写给Python社群的第11课:Python线程,进程,协程,3个毫无关系的兄弟