linux线程同步互斥
线程间同步和互斥机制
1.
2.
3.
1.信号量
信号量是什么?有什么作用?
1.初始化
2.P
3.V
2.互斥锁
作用?
操作:
1.
2.
3.
3.条件变量
问题引入:
线程2需要记录线程1执行很久之后的,线程2需要等待很长时间,每时每刻检测条件,占用CPU,遂改进。
条件变量:
本例中,线程2不满足条件是直接睡眠,线程1检测条件是否发生,一旦发生,唤醒线程2.
为什么使用条件变量?
1.
2.
3.
1.初始化
2.P
3.V
1.
2.
3.
线程2需要记录线程1执行很久之后的,线程2需要等待很长时间,每时每刻检测条件,占用CPU,遂改进。
本例中,线程2不满足条件是直接睡眠,线程1检测条件是否发生,一旦发生,唤醒线程2.