QMutexLocker
1、QMutexLocker是基于QMutex的便利类,这个类不能够定义 私有成员变量 和 全局变量,只能够定义局部变量来使用。
2、如果保护的是全局变量,那么QMutex定义的变量也得全局。
步骤(以保护全局变量a为例):
① 定义一个QMutex类的变量
② 在需要上锁的地方定义 QMutexLocker。下图两个线程都要操作a。
【解锁机制】
QMutexLocker对象被创建时上锁,对象被销毁时解锁(所在函数执行结束释放)。如果函数未被执行完,则可能一直不解锁。
【参考】