(1)进程是一个可拥有资源的独立单位
(2)进程同时又是一个可独立调度和分派的基本单位
正因为进程兼具这两种基本属性,这就导致,进程的创建、撤销和切换的时空开销很大。因此,系统中的进程数量不宜过多,而这也就进一步的限制了系统并发程度的提高。
于是,线程的出现就是为了剥离开进程的两个基本属性,令os中引入线程,以线程作为调度和分派基本单位。因此就变成:
(1)进程作为资源拥有的独立单位。
(2)线程作为调度和分派的基本单位。
一个系统可以有多个进程并发执行,同时,一个进程也包含多个线程,线程之间也可以并发执行。这样进一步在更细粒度上细化并发,自然提高了系统服务质量和吞吐量。
同时,线程本身不拥有独立资源(或者说少量必不可少的资源),同一进程内的线程共享所述进程分配的资源,对于进程切换过程中要涉及进程CPU环境的保存以及新建进程对CPU环境的设置,这些开销线程统统没有,他只需要对少量的寄存器进行设置。因此,线程所需的系统开销远远小于进程。