QMutexLocker not locking QMutex
QMutexLocker not locking QMutex
QMutexLocker在锁定线程时不工作。
-
答案:
void foo() { // QMutexLocker(&mutex); // wrong, it will not just lock and unlock QMutexLocker locker(&mutex); // right, it will lock until the 'locker' scope ends ... }
当然这是错误的:
QMutexLocker(&mutex);
因为它创建了一个临时互斥,在语句结束时进行锁定和解锁。
此处:
QMutexLocker locker(&mutex);
您正在创建一个名为locker的QMutexLocker
类型的对象,该对象锁定互斥对象,并在互斥对象超出范围时解锁它。
相关文章:
- 将 QMutex 添加到类后的"Attempting to reference a deleted function"
- 必须初始化 QMutexLocker、QMutex C2530 引用
- QMutex with QThread - prime number sekeer
- QMUTEX:销毁锁定的静音
- 如何使用递归QMutex
- QtCore,QMutex 类,锁定功能 - 堆栈溢出故障
- QMutex ,如果线程在起作用,请在此处等待
- QThread:线程仍在运行时被销毁,QMutex被销毁
- Using QMutex::tryLock and QMutexLocker
- QMutexLocker not locking QMutex
- QMutexLocker 中的 QThread 断言失败: "QMutex pointer is misaligned" ,
- QMutex是否需要是静态的,以便该类实例的其他线程调用知道要挂起它们的操作
- 如何使用QMutex
- QMutex需要读取变量
- "Locking"两个向量并对其进行排序
- 这是QMutexLocker和QMutex更好的用法
- 在析构函数中锁定QMutex
- QMutex Access共享变量
- 在这种情况下,'double checked locking pattern'对 std::mutex 有好处吗?
- 何时在C++Qt中使用QMutex