Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
QMutex+QWaitCondition 对象是否可重用?我有一种方法可以等待一些线程完成。
void FinishWait() { mutex.lock(); waitCondition(&qMutex, ULONG_MAX); }
waitCondition.wakeOne() 在不同的线程上调用。
对 FinishWait() 的第一次调用有效,但即使我指定超时,第二次调用也不会返回。
假设“mutex”和“qMutex”表示同一个变量(否则没有多大意义),您需要在 wait() 返回后解锁互斥锁。
void FinishWait() { mutex.lock(); waitCondition.wait(&mutex); mutex.unlock(); }