QMutex单独使用时:
1.需要包含头文件 #include <QMutex>
2.定义变量 QMutex mutex;(mutex相当于买了一把锁,一个对象就是一把锁。整个程序或一个类中自定义一把或多把,不同锁锁不同的地方。)
3.使用(配对使用,用同一把锁的地方就会互斥)
QMutex mutex;
void function1
{
mutex.lock();(上锁)
m_Cnt++;(加锁的变量)
mutex.unlock();(解锁)
}
void function2
{
mutex.lock();(上锁)
m_Cnt--;(加锁的变量)
mutex.unlock();(解锁)
}
QMutex与QMutexLocke配合使用时:
1.需要包含头文件 #include <QMutex> #include <QMutexLocker>
2.定义变量 QMutex mutex;(mutex相当于买了一把锁,一个对象就是一把锁。整个程序或一个类中自定义一把或多把,不同锁锁不同的地方。)
3.使用(用同一把锁的地方就会互斥)
QMutex mutex;
void function1
{
QMutexLocker locker(&mutex);(上锁)
m_Cnt++;(加锁的变量)
(执行完自动解锁)
}
void function2
{
QMutexLocker locker(&mutex);(上锁)
m_Cnt--;(加锁的变量)
(执行完自动解锁)
}
(以上为个人理解,理解不到位各位大虾留言)