为了让一个进程宏观上可以同时做很多事情,我们引入线程来增加并发度
可以把线程理解为“轻量级进程”
线程是一个基本的 CPU 执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如 QQ 视频、文字聊天、传文件)
引入线程后,进程只作为除 CPU 之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)
早期的操作系统只支持进程,不支持线程,当时的线程是由线程库来实现的
简单示意如下:
线程的管理工作由操作系统完成
线程的切换需要操作系统转换