【发布时间】:2015-11-29 08:31:15
【问题描述】:
有没有办法让std::lock_guard 在获取互斥锁时调用try_lock 而不是lock?
我能想到的唯一方法是使用std::adopt_lock:
if (!_mutex.try_lock())
{
// Handle failure and return from the function
}
std::lock_guard<my_mutex_class> lock(_mutex, std::adopt_lock);
是否有针对我的问题的内置解决方案,而不是显式获取锁,然后让lock_guard 负责释放它?
【问题讨论】:
标签: c++ multithreading c++11 mutex