线程
线程模型
线程与内核调度实体KSE的对应关系
常见线程模型
- 用户级线程模型(M:1)
此模型下的线程由用户级别的线程库全权管理,效率低下,线程的优先级形同虚设
- 内核级线程模型(1:1)
该模型下的线程是由内核负责管理的,内核的管理成本高,内核级别的线程创建切换同步花的时间更多
- 两级线程模型(M:N)
一个进程可与多个KSE相关联,进程中的线程并不与KSE一一对应,内核级线程 + 应用程序线程,内核和线程库相互合作
线程同步
互斥量mutex
必须要使用多个互斥量的时候怎么办?
试锁定和回退,固定顺序锁
条件变量
需要和互斥量配套使用,Wait等待通知,Signal单发通知,Broadcast广播通知