1.什么是线程,为什么要引入线程?
(1)传统的进程是程序执行流的最小单位。
(2)引入线程后,线程成为了程序执行流的最小单位。
(3)线程:轻量级的进程。它是基本的CPU执行单元,也是程序执行流的最小单位。
(4)引入线程后,进一步提升了系统的并发度。
2.引入线程机制后,有什么变化?
(1)资源分配、调度:
传统进程机制中,进程是资源分配、调度的基本单位。
引入线程后,进程是资源分配的基本单位,线程是调度的基本单位。
(2)并发性:
传统进程机制中,只能进程间并发。
引入线程后,各线程间也能并发,提升了并发度。
(3)系统开销
传统进程间并发,常常需要切换进程的运行环境,系统开销大。
线程间并发,如果是同一进程内的线程切换,则不需要切换进程环境,系统开销小。
3.线程的属性
线程是处理机调度的单位。
多CPU计算机中,各个线程可占用不同的CPU。
每个线程都有一个线程ID、线程控制块(TCB)。
线程也有就绪、阻塞、运行三种基本状态。
线程几乎不拥有系统资源。
同一进程的不同线程间共