第72课 - 程序、进程与线程的概念

版权声明:课程笔记内容整理于狄泰软件 https://blog.csdn.net/qq_39654127/article/details/81942083

1、程序与进程的概念 

程序是计算机存储系统中的数据文件

       - 源代码程序 

            ★ 文本文件,描述程序行为和功能 

     -可执行程序 

            ★ 二进制文件,直接加载并执行 

进程的概念 

     -广义概念 

            ★ 程序关于某个数据集合的一次运行活动 

     -狭义概念 

            ★ 程序被加载到内存中执行后得到进程 

 

程序和进程的区别 

     -程序是硬盘中静态的文件 

            ★ 存储系统中的一段二进制表示 

     -进程是内存中动态的运行实体

            ★ 数据段,代码段,PC指针,等 

 

程序和进程的联系 

     -一个程序可能对应多个进程 

            ★ 一个程序多次运行,每次运行产生一个进程 

     -一个进程可能包含多个程序 

            ★ 一个程序依赖多个其它动态库 

值得注意的地方 

        在当代操作系统中,资源分配的基本单位是进程;

         而 CPU调度执行的基本单位是线程! 

2、线程的概念 

线程的概念 

     -进程内的一个执行单元 

     -操作系统中一个可调度的实体 

     -进程中相对独立的一个控制流序列 

     -执行时的现场数据和其他调度所需的信息 

再论main函数 

         C/C++程序被执行后从main函数开始 

         运行,那么这中间经历了什么样的过程? 

                                                     线程是进程使用CPU资源的基本单位! 

深入理解进程和线程 

     -进程中可以存在多个线程共享进程资源 

     -线程是被调度的执行单元,而进程不是调度单元 

     -线程不能脱离进程单独存在,只能依赖于进程运行 

     -线程有生命期,有诞生和死亡, 

     -任意线程都可以创建其它新的线程 

                      进程中的多个线程并行执行,共享进程资源! 

       例如:

               百度网盘同时下载多个文件,并行下载,进程内部

               创建多个线程,每个线程负责下载一个文件

3、小结 

程序是物理存储空间中的数据文件 

进程是程序运行后得到的执行实体 

线程是进程内部的具体执行单元 

一个进程内部可以有多个线程存在 

进程是操作系统资源分配的基本单位 

线程是操作系统调度执行的基本单位 

猜你喜欢

转载自blog.csdn.net/qq_39654127/article/details/81942083
今日推荐