我将如何在我的方法开始时锁定一个std::mutex
左右boost::mutex
,我会锁定它,但不管它已经被锁定还是不只是继续执行代码。
我想要这种行为,因为将有 2 个线程读取和写入std::map
. 当它正在读取时,我只想锁定互斥锁,以便它可以继续读取但写入停止。当它正在写入时,我希望它锁定另一个互斥锁,这将阻止读写,并等待两个互斥锁都被解锁,以便它可以单独使用地图。
我将如何在我的方法开始时锁定一个std::mutex
左右boost::mutex
,我会锁定它,但不管它已经被锁定还是不只是继续执行代码。
我想要这种行为,因为将有 2 个线程读取和写入std::map
. 当它正在读取时,我只想锁定互斥锁,以便它可以继续读取但写入停止。当它正在写入时,我希望它锁定另一个互斥锁,这将阻止读写,并等待两个互斥锁都被解锁,以便它可以单独使用地图。