Dej*_*jwi 7 c++ multithreading pthreads c++11
我收到了这个错误:
pthread_mutex_lock.c:62:__ pthread_mutex_lock:断言`互斥锁 - > _ 数据._owner == 0'失败了.
我找不到任何原因.但是我不确定以下代码:
声明:
std::mutex lock;
std::condition_variable cond;
Run Code Online (Sandbox Code Playgroud)
锁定和解锁序列:
std::unique_lock<std::mutex> lk(lock);
cond.wait(lk);
lock.unlock();
Run Code Online (Sandbox Code Playgroud)
如果我删除这个序列 - 一切正常,但没有任何保护.我不确定我unique_lock是否正确使用.
std::unique_lock其他锁在构造函数中获取互斥体并在析构函数中释放它。您lock.unlock()手动调用代码,使其有效调用两次。
删除该语句后,您的代码应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
9577 次 |
| 最近记录: |