Vio*_*ffe 11 c++ windows multithreading mutex c++11
我在整个申请中使用std::mutex并std::lock_guard以适当的RAII方式:
struct Foo {
int f() const
{
std::lock_guard<std::mutex> locker(m_mutex);
return m_i;
}
private:
int m_i = 0;
mutable std::mutex m_mutex;
};
Run Code Online (Sandbox Code Playgroud)
它总是有效,但我刚刚为另一个类增加了并行性,并且在这个新类中locker抛出std::system_error.问题出在这里(xthread标题):
inline int _Mtx_lockX(_Mtx_t *_Mtx)
{ // throw exception on failure
return (_Check_C_return(_Mtx_lock(_Mtx)));
}
Run Code Online (Sandbox Code Playgroud)
_Mtx_lock 当预期值为0时返回3.不知道3意味着什么.
VS2013,v120_x64运行时.
| 归档时间: |
|
| 查看次数: |
3180 次 |
| 最近记录: |