转载请附上连接,本帖原创请勿照抄。
QMutex类提供的是线程之间的访问顺序化。QMutex的目的是保护一个对象、数据结构或者代码段,所以同一时间只有一个线程可以访问它。
例如,这里有一个方法打印给用户两条消息:
void DebugInfo()
{
qDebug("ABC");
qDebug("DEF");
}
如果同时在两个线程中调用这个方法,结果的顺序将是:
ABC ABC DEF DEF
如果你使用了一个互斥量:
QMutex mutex;
void DebugInfo()
{
mutex.lock();
qDebug("ABC");
qDebug("DEF");
mutex.unlock();
}
如果同时在两个线程中调用这个方法,结果的顺序将是