进程与线程

概念

程序:程序是一组指令的集合,它描述了完成特定任务的步骤和操作。程序通常以源代码的形式编写,可以使用编程语言如C、Java、Python等来表示。程序本身是静态的,它只是存储在存储介质(如硬盘)上的一段代码。

进程:进程是计算机系统中正在运行的程序的实例。当一个程序被执行时,操作系统会为其创建一个独立的进程。

线程:线程是进程中的执行单元。一个进程可以包含多个线程,它们共享进程的内存空间和系统资源。线程是操作系统调度的基本单位,可以并发执行。

并行与并发

并发(concurrent)是同一时间应对(dealing with)多件事情的能力。

一个CPU内核交替执行多件事情。CPU内核给多个内核分配时间片,由于时间片,cpu切换速度快,在宏观上感觉是多件事情同时执行(并行),而微观上是多个事情交替完成的。

并行(parallel)是同一时间动手做(doing)多件事情的能力。

多个CPU内核分别执行一件事情。