QWriteLocker 类是简化写访问锁定和解锁读写锁的方便类。 更多...
头: | #include <QWriteLocker> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
注意: 此类的所有函数 thread-safe .
QWriteLocker (QReadWriteLock * lock ) | |
~QWriteLocker () | |
QReadWriteLock * | readWriteLock () const |
void | relock () |
void | unlock () |
The purpose of QWriteLocker (and QReadLocker ) 是简化 QReadWriteLock 锁定和解锁。锁定和解锁语句或在异常处理中,代码容易出错且难以调试。QWriteLocker 可以用于这种状况以确保锁的状态始终定义良好。
这里的范例是使用 QWriteLocker 锁定和解锁读写锁对于写入:
QReadWriteLock lock; void writeData(const QByteArray &data) { QWriteLocker locker(&lock); ... }
它相当于以下代码:
QReadWriteLock lock; void writeData(const QByteArray &data) { lock.lockForWrite(); ... lock.unlock(); }
The QMutexLocker 文档编制展示使用锁定器对象大大简化编程的范例。
另请参阅 QReadLocker and QReadWriteLock .
构造 QWriteLocker 和锁
lock
为写入。锁将被解锁当 QWriteLocker 被销毁时。若
lock
为 0,QWriteLocker 什么都不做。
另请参阅 QReadWriteLock::lockForWrite ().
[noexcept]
QWriteLocker::
~QWriteLocker
()
销毁 QWriteLocker 并解锁被传递给构造函数的锁。
另请参阅 QReadWriteLock::unlock ().
返回指向被传递给构造函数的读写锁的指针。
重新锁定被解锁的锁。
另请参阅 unlock ().
解锁关联此锁定器的锁。
另请参阅 QReadWriteLock::unlock ().