线程

线程模型

线程与内核调度实体KSE的对应关系

常见线程模型

  • 用户级线程模型(M:1)

此模型下的线程由用户级别的线程库全权管理,效率低下,线程的优先级形同虚设

  • 内核级线程模型(1:1)

该模型下的线程是由内核负责管理的,内核的管理成本高,内核级别的线程创建切换同步花的时间更多

  • 两级线程模型(M:N)

一个进程可与多个KSE相关联,进程中的线程并不与KSE一一对应,内核级线程 + 应用程序线程,内核和线程库相互合作

线程同步

互斥量mutex

必须要使用多个互斥量的时候怎么办?

试锁定和回退,固定顺序锁

条件变量

需要和互斥量配套使用,Wait等待通知,Signal单发通知,Broadcast广播通知