调度单位
- 引入线程后,线程是处理机调度的基本单位,进程是资源分配的基本单位,而不再是一个可执行的实体。
- 在同一进程中线程的切换不会引起进程的切换,但从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。
并发性
- 引入线程后,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。
- 多个线程会争夺处理机,在不同的状态之间进行转换。线程也是一个动态的概念,也有一个从创建到消亡的生命过程,具有动态性。
资源分配
- 进程是资源分配的单位,一般线程自己不拥有系统资源,但可以访问其隶属进程的资源。
- 同一进程中的所有线程都具有相同的地址空间(进程的地址空间)。
独立性
- 同进程的不同线程间的独立性要比不同进程间的独立性低得多。
- 多个线程共享进程的内存地址空间和资源。
系统开销
- 创建、撤销一个新线程系统开销小。
- 两个线程间的切换系统开销小。
- 在一些OS 中,同一进程内的线程之间切换、同步、相互通信无须内核干预。
支持多处理机系统
- 同进程的不同线程可以分配到多个处理机上执行,加快了进程的完成。
- 现代OS 全部支持多线程。