从C ++中的互斥锁定代码中的函数返回的好方法

时间:2014-01-20 16:06:44

标签: c++ multithreading mutex

我正在使用名为std::mutex的{​​{1}},我编写以下代码只是为了获取指针的值:

DXGI_LOCK

我只是一个爱好C ++程序员,这看起来有点过分了。所以,在我到处使用这种模式之前:有没有更好的方法在C ++代码中以安全的方式使用互斥锁?

谢谢。

2 个答案:

答案 0 :(得分:5)

std::lock_guard<std::mutex>就是您所需要的。

答案 1 :(得分:0)

  

我正在使用名为DXGI_LOCK的std :: mutex

试试这个:

const IDXGIFactory& GetDXGIFactory() {
    std::lock_guard<std::mutex> lock(DXGI_LOCK); // performs RAII unlock
                                                 // on scope exit
    return *pDxgiFactory;
}