其实我是想实现如下功能:
mutex mt;
线程A:
while(true){
mt.lock();
//进行一些需要等待的操作,然后产生一些数据
mt.unlock();
}
线程B:
while(true){
mt.lock();
//取走线程A产生的数据,用时很短
mt.unlock();
//处理数据,以及有关的其它操作
}
希望线程B正在在等待时,mt被线程A unlock后立刻被线程B lock,而不是被线程A再次lock。
【 在 hanjiamajia (hanjiamajia) 的大作中提到: 】
: 楼上说的都对
: stl 里的 mutex 是封装的操作系统提供的 native 互斥锁,后者不是公平锁,不遵循 FIFO。
: 楼主这里应该用 semaphore
: ...................
--
FROM 115.171.203.*