线程概念和多线程模型
1.什么是线程,为什么引入线程?
- 可理解为“轻量级的进程”
- 可增加并发度,减少并发带来的开销
2.引入线程机制后,有什么变化?(和传统的进程机制对比)
- 资源分配、处理机调度
- 并发性
- (实现并发的)系统开销
3.线程有哪些重要的属性
- 线程是处理机调度的单位,进程是资源分配的单位
- 同一进程的各线程共享拥有的资源
- 同一进程内的线程切换不会导致进程的切换
4.线程的实现方式
- 用户级线程:从用户视角看的线程
- 内核级线程:从操作系统看的线程(内核级线程才是处理机分配的单位)
- 组合方式:上诉两种方式的结合
5.多线程模型
1.多对一模型:
- 优点:进程管理开销小、效率高
- 缺点:一个线程阻塞会导致整个进程被阻塞(并发性低)
2.一对一模型:
- 优点:进程管理开销大
- 缺点:各个线程可分配到多核处理机并发执行、并发度高
3.多对多模型:
- 集二者之所长