我找到了一些有关QMutex的信息,而且信息称它是一个用于保护资源的同步工具。它保护了哪些资源?
答案 0 :(得分:2)
Qt文档非常好。在问这样的一般性问题之前,你应该花些时间阅读它。
从QMutex
专门开始:http://doc.qt.io/qt-5/qmutex.html
QMutexLocker
是一个密切相关的类,可以简化使用QMutex
:http://doc.qt.io/qt-5/qmutexlocker.html
在这里查看有关Qt中线程的更多一般性讨论:http://doc.qt.io/qt-5/thread-basics.html
答案 1 :(得分:2)
QMutex将保护对象的值(如下例中的变量)不被更改,以便一次只能有1个线程访问它。
bank_account_mutex.lock();
account_balance = account_balance + money_change;
bank_account_mutex.unlock();
我还建议您阅读文档并自行练习。这是一个重要的概念,尤其是当您有多个用户对相同数据进行更改时。