一、进程:
1、引入:
①进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。
②进程是为了完成用户任务所需要的程序的一次执行过程以及为其分配资源的一个基本单位。
③进程是一个动态执行过程。
二、线程:
1、引入:为了减少进程切换和创建的开销,避免了进程切换,提高执行效率和节省资源。
2、线程的基本概念:
①线程是进程的一部分。
线性也是CPU调度的一个基本单位。
②一个没有线程的进程可以被看作是单线程的。
三、进程和线程的区别:
好比室内室外(场景切换-进程,家具切换-线程)
1、线程的改变只代表了CPU执行过程的改变,而进程所拥有的资源没有发生变化。(或者说,除CPU之外,计算机内的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。)
2、与进程控制表和PCB相似,每个线程也有自己的线程控制块(TCB),而这个TCB中保存的线性状态信息则要比PCB少得多,这些信息主要是相关指针用堆栈以及寄存器中的状态数据。
3、进程是系统中资源分配时的基本单位。
4、进程拥有一个完整的虚拟地址空间。
5、进程不依赖于线程而独立存在。
而线程是进程的一部分,它没有自己的地址空间,它和进程内的其他进程一起共享分配给该进程的所有资源。