一、概念
-
程序是一组指令的有序集合,本身并没有任何运行的含义,它只是一个静态的实体。
-
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
-
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程。
-
协程属于线程,即一个线程下面可以开辟多个协程。
二、程序与进程
- 一个运行中的程序至少有一个进程,一个进程至少有一个线程。
- 进程有自己的生命周期:因创建而产生,因调度而运行,因等待资源或事件处于等待状态,因完成任务而被撤销,反映了一个程序在一定的数据集上运行的全部动态过程。
- 程序与进程是一对多的关系,程序在不同的数据集上运行就成为不同的进程。
- 进程具有并发性和交往性,而程序具有封闭性。
三、进程与线程
- 一个进程至少有一个线程
- 进程在执行过程中有独立的运行单元,而多个线程共享内存,极大地提高了程序的运行效率
- 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能独立执行,必须依赖在应用程序中,由应用程序提供多个线程执行控制。多线程的意义在于,一个应用程序中,有