进程的定义:一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。进程是一个正在执行程序的实例,包括程序计数器、寄存器和程序变量的当前值。简单来说,进程就是一个程序的执行流程,内部保存程序运行所需的资源。在操作系统中可以有多个进程在运行,可对于CPU来说,同一时刻,一个CPU只能运行一个进程,但在某一时间段内,CPU将这一时间段拆分成更短的时间片,CPU不停的在各个进程间游走,这就给人一种并行的错觉,像CPU可以同时运行多个进程一样,这就是伪并行。
线程的定义:线程是进程当中的一条执行流程,这几乎就是进程的定义,一个进程内可以有多个子执行流程,即线程。从资源组合的角度看,进程把一组相关的资源组合起来,构成一个资源平台环境,包括地址空间(代码段,数据段),打开的文件等各种资源。从运行的角度看:进程是代码在这个资源平台上的执行流程,然而线程貌似也是这样,但是进程比线程多了资源内容列表样式:进程 = 线程 + 共享资源。
进程是操作系统分配资源的单位,线程是调度的基本单位,线程之间共享进程资源。