Skip to content

[!quote] 程序

程序 是一系列有逻辑,有顺序结构的指令的集合,是一个静态的实体,来帮我们达成某个结果

例子:程序想象成一家餐厅的菜谱。它是一组指示计算机执行特定任务的指令集,就像菜谱指导厨师如何烹饪一道菜一样。这个菜谱(程序)是静态的,它存储在硬盘上,不会自己做菜,需要厨师(CPU)根据它的指示来操作

[!quote] 进程

进程 是程序在一个数据集合上的一次执行过程,是程序的一次运行实例

例子:当你根据菜谱开始烹饪时,这就是一个进程。所以,如果你根据同一份菜谱烹饪了两次,那么你就有了两个进程。每个进程都有自己的运行环境【内存空间、全局变量 ……】,它们互不干扰

[!quote] 线程

线程 被包含在进程之中,是进程中的实际运作单位

例子:在烹饪过程中,你可能需要同时进行多个步骤,比如烧水,剁菜,炒菜等。这些同时进行的步骤就像是线程。线程是进程内的一个执行单元,它们共享进程的资源(比如内存),但是每个线程都有自己的寄存器和栈

一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。因为线程中几乎不包含系统资源,所以执行更快、更有效率

一个程序至少有一个进程,一个进程至少有一个线程。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。就如下图所示: 实验楼