当前位置: 技术问答>linux和unix
linux里的条件变量到底有什么用?感觉和mutex差不多啊
来源: 互联网 发布时间:2017-02-17
本文导语: 我知道Windows下和linux都有mutex和semaphone,都是用来进程、线程间同步的,但是linux下的condition variable是干什么用的呢? 网上查到无非是说等待条件成立、使条件成立啥的,但是没看出来和mutex有啥区别? ...
我知道Windows下和linux都有mutex和semaphone,都是用来进程、线程间同步的,但是linux下的condition variable是干什么用的呢?
网上查到无非是说等待条件成立、使条件成立啥的,但是没看出来和mutex有啥区别?
网上查到无非是说等待条件成立、使条件成立啥的,但是没看出来和mutex有啥区别?
|
注意区别,互斥锁主要用来共享资源上
而条件变量主要用来在满足条件时通知线程
而条件变量主要用来在满足条件时通知线程
|
太重要了,没有条件变量,程序就是无限的轮询,或者用sleep,根本无法准确监测事件,有了mutex+cond,就可以等待并监测条件发生,都是第一时间的,而且原子性得到了保证。