第七十二课、进程与线程的概念------------------狄泰软件学院
一、进程的概念
1、程序是计算机存储系统中的文件数据
(1)、源代码:文本文件,描述程序的行为和功能
(2)、可执行程序:二进制文件,直接加载并执行
2、进程的概念
(1)、广义概念:程序关于某个数据集合的运行活动
(2)、狭义概念:程序被加载到内存中执行后得到进程
3、程序和进程的区别
(1)、程序是硬盘中的静态文件:存储系统中的一段二进制表示
(2)、进程是内存中动态的运行实体:数据段、代码段、指针等
4、程序和进程的联系(有进程一定有程序,但有程序不一定有进程)
(1)、一个程序可能对于多个进程:一个程序多次运行,每次运行产生一个进程
(2)、一个进程可能包含多个程序:一个程序依赖多个其它动态库
5、值得注意的地方
(1)在当代操作系统中,资源分配的基本单位是进程
(2)、而CPU调度执行的基本单位是线程(相当于在CPU眼中根本没有进程)
二、线程的概念
1、线程的概念
(1)、进程中的一个执行单元(进程只是资源的集合,这些资源由线程来使用)
(2)、操作系统中一个可调度的实体
(3)、进程相对独立的一个控制流序体
(4)、执行时的现场数据和其它调度所需要的信息
2、再论main函数
(1)、线程是进程使用CPU资源的基本单位
3、深入理解进程和线程
(1)、进程中可以存在多个线程共享资源
(2)、线程是被调度的执行单元,而进程不是调度单元(进程想要使用CPU资源就必须借助线程)
(3)、线程不能脱离进程独立存在,只能依赖于进程执行(因为资源是分配个进程的,进程是操作系统分配资源的基本单位)
(4)、线程有生命期,有诞生和死亡
(5)、任意线程都可以创建其它新的线程
三、小结
(1)、程序是物理存储空间中的数据文件
(2)、进程是程序运行后得到的执行实体
(3)、线程是进程内部的具体执行单元
(4)、一个进程内部可以有多个线程存在
(5)、进程是操作系统分配资源的基本单位
(6)、线程是操作系统调度执行的基本单位