线程概念和多线程模型

1.什么是线程,为什么引入线程?

  1. 可理解为“轻量级的进程”
  2. 可增加并发度,减少并发带来的开销

2.引入线程机制后,有什么变化?(和传统的进程机制对比)

  1. 资源分配、处理机调度
  2. 并发性
  3. (实现并发的)系统开销

3.线程有哪些重要的属性

  1. 线程是处理机调度的单位,进程是资源分配的单位
  2. 同一进程的各线程共享拥有的资源
  3. 同一进程内的线程切换不会导致进程的切换

4.线程的实现方式

  1. 用户级线程:从用户视角看的线程
  2. 内核级线程:从操作系统看的线程(内核级线程才是处理机分配的单位)
  3. 组合方式:上诉两种方式的结合

5.多线程模型

1.多对一模型:

  1. 优点:进程管理开销小、效率高
  2. 缺点:一个线程阻塞会导致整个进程被阻塞(并发性低)

2.一对一模型:

  1. 优点:进程管理开销大
  2. 缺点:各个线程可分配到多核处理机并发执行、并发度高

3.多对多模型:

  1. 集二者之所长