是否有针对try_lock_for和try_lock_until的std :: lock / std :: try_lock的模拟?

时间:2014-04-24 01:48:51

标签: boost c++14

当获取多个互斥锁(或使用boost,迭代器范围的互斥锁)时,我们可以使用std::lockboost::lock来避免因锁定顺序而导致的死锁。使用Lockable概念有类似的std::try_lockboost::try_lock函数。

还有TimedMutex概念,它将方法try_lock_fortry_lock_until添加到try_lock添加超时语义。是否有针对std::lock的模拟计划提供死锁避免并支持超时语义(可能是std::try_lock_for(Lockable1& lock1, Lockable2& lock2, LockableN& lockn...)std::try_lock_until(Lockable1& lock1, Lockable2& lock2, LockableN& lockn...))?

同样,是否为SharedTimedMutex函数lock_shared函数try_lock_sharedtry_lock_shared_fortry_lock_shared_until和{{1}}计划了解锁死锁函数?

1 个答案:

答案 0 :(得分:0)

不,我不知道有任何关于添加这些功能的建议。

我不相信过去的提案也有,但我可能在一年前的C ++ 0x过程中错过了。

我认为这些功能的用例比std::lockstd::try_lock

的用途少得多