# 多进程

现代化操作系统都是采用『多任务』和『分时』设计,从而诞生了『程序』和『进程』的概念,而后又进一步诞生了『线程』的概念。

从历史的时间线来看,『进程』在前,『线程』在后。

程序』是对数据描述与操作的代码的集合。

进程』是程序的一次动态执行的过程,它对应了从代码加载、执行至执行完毕的一个完整过程。这个过程也是进程从产生、发展至消亡的过程。

通俗地说,『程序』是死的,『进程』是活的。进程就是『活着的』程序。

运行程序』也被称作『执行任务』,一个操作系统中可以同时运行多个程序也就是同时执行『多个任务』,那么每个任务就对应一个进程。

在操作系统的管控下,多个进程『轮流』使用 CPU 资源(和其他公共资源),这被称作『分时』。

通俗地说,站在 CPU 的角度而言,根本不存在所谓的同时。这一点很重要。

进程的特点:

  • 进程是操作系统运行程序的基本单元;

  • 每一个进程都有自己独立的一块内存空间和一组系统资源;

  • 每一个进程的内部数据和状态是完全独立的。