std :: lock_guard <pthread_mutex_t>无法编译

时间:2016-05-09 06:42:01

标签: c++

std::lock_guard<pthread_mutex_t> lock(mExecutionReportsLock);

这不能编译,因为pthread_mutex_t不是有效的模板参数。实现此功能的最佳方式是什么

1 个答案:

答案 0 :(得分:0)

std::mutex m;

auto my_lock = std::unique_lock<std::mutex>(m);

...或

using mutex_type = std::mutex;
using lock_type = std::unique_lock<mutex_type>;

mutex_type m;

auto lock = lock_type(m);