进程
进程是进程实体的运行过程,是系统进行资源分配的基本单位
进程的实质
进程的实质是PCB(进程控制块),创建进程实际上就是创建PCB。PCB包含了进程的基本信息(标识符,CPU状态,进程调度信息,进程控制信息)与运行状态。
进程的三种基本状态
就绪状态
已经分配资源完成,等待CPU的权限。
执行状态
已经分配资源且获得操作CPU的权限,正在执行。
阻塞状态
正在等待分配资源。
三种状态之间的切换:
线程
线程是系统独立调度的基本单位,本身不占有任何资源,共享进程的资源。
一个进程可以有多个线程。如QQ和微信属于不同的进程,但是他们分别都有自己的线程,微信的线程监听朋友圈动态,QQ的线程监听QQ空间动态。
区别
是否占有资源
进程占有资源,线程不占用资源
通信
进程间通信需要陷入内核,同一进程下的多个线程之间可以通过共享进程数据完成通信
系统开销
由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器内容,开销很小。
调度
在同一进程中,不同的线程切换不需要进行陷入内核切换进程。但是从一个进程切换到另一个进程则需要陷入内核(需要消耗时间)。