QMutexLocker

1、QMutexLocker是基于QMutex的便利类,这个类不能够定义   私有成员变量  和  全局变量,只能够定义局部变量来使用。

2、如果保护的是全局变量,那么QMutex定义的变量也得全局。

步骤(以保护全局变量a为例):

① 定义一个QMutex类的变量

 ② 在需要上锁的地方定义 QMutexLocker。下图两个线程都要操作a。

  

【解锁机制】

QMutexLocker对象被创建时上锁,对象被销毁时解锁(所在函数执行结束释放)。如果函数未被执行完,则可能一直不解锁。

【参考】

具体代码参考 QT 之 QMutexLocker如何安全锁住全局变量 - 走看看 (zoukankan.com)

posted @ 2022-09-19 11:23  夕西行  阅读(2739)  评论(0编辑  收藏  举报