重用 QMutex 和 QWaitCondition
QMutex+QWaitCondition对象可以重用吗? 我有一种方法可以等待某些线程完成。
void FinishWait()
{
mutex.lock();
waitCondition(&qMutex, ULONG_MAX);
}
waitCondition.wakeOne() 在不同的线程上调用。
对 FinishWait() 的第一次调用有效,但即使我指定超时,第二次调用也不会返回。
Are QMutex+QWaitCondition objects reusable?
I have a method to wait for some threads to complete.
void FinishWait()
{
mutex.lock();
waitCondition(&qMutex, ULONG_MAX);
}
The waitCondition.wakeOne() is called on a different Thread.
The first call to FinishWait() works but the the second call doesn't return even if I specify timeout.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设“mutex”和“qMutex”表示相同的变量(否则没有多大意义),您需要在 wait() 返回后解锁互斥体。
Assuming "mutex" and "qMutex" mean the same variable (it doesn't make much sense otherwise), you need to unlock the mutex after the wait() returns.