1. 进程

执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。

  1. 线程

单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位。

  1. 一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。
  2. 进程让操作系统的并发性成为了可能,而线程让进程的内部并发成为了可能。一个进程包含多个线程,但是这些线程共享进程占有的内存地址空间和资源。进程是操作系统进行资源分配的基本单位(进程之间互不干扰),而线程是操作系统进行调度的基本单位(线程间互相切换)。
  3. 进程的三种状态:

运行 就绪 等待 三种状态

  1. 进程线程的区别: 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。

最大的区别是:是否单独占有内存地址空间 (共享,同步,可靠性,开销)

1.进程单独占有一定的内存地址空间,所以进程间存在内存隔离,数据时分开的,数据共享复杂但是同步简单,各个进程之间互不干扰;而线程共享所属进程占有的内存地址空间和资源,数据共享简单,但是同步复杂。 2.进程单独占有一定的内存地址空间,一个进程出现问题不会影响其他进程,不影响主程序的稳定性,可靠性高;一个线程崩溃可能影响整个程序的稳定性,可靠性较低。 3.进程单独占有一定的内存地址空间,进程的创建和销毁不仅需要保存寄存器和栈信息,还需要资源的分配回收以及页调度,开销较大;线程只需要保存寄存器和栈信息,开销较小。 注意:进程是操作系统进行资源分配的基本单位(进程之间互不干扰),而线程是操作系统进行调度的基本单位(线程间互相切换)。