QWriteLocker
QWriteLocker 是工具类,它简化了对读写锁,写访问的的锁定和解锁。更多…
| 属性 | 内容 |
|---|---|
| 头文件 | #include<QWriteLocker> |
| qmake | QT += core |
注意: 此类中所有函数都是线程安全的。
公共成员函数
| 返回类型 | 函数 |
|---|---|
| QWriteLocker(QReadWrtiteLock *lock) | |
| ~QWriteLocker() | |
| QReadWriteLock * | readWriteLock() const |
| void | relock() |
| void | unlock() |
详细描述
QWriteLocker(和 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();}
QMutexLocker 文档展示了使用locker对象来大大简化编程的示例。
另请参阅: QReadLocker、QReadWriteLock。
成员函数文档
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
构造一个 QWriteLocker 并锁定用于写入的锁。当 QWriteLocker 被销毁时,锁将被解锁。如果 lock == nullptr,则 QWriteLocker 不执行任何操作。
另请参阅: QReadWriteLock::lockForWrite()。
QWriteLocker::~QWriteLocker()
销毁 QWriteLocker 并解锁传递给构造函数的锁。
另请参阅: QReadWriteLock::unlock()。
QReadWriteLock *QWriteLocker::readWriteLock() const
返回传递给构造函数的读写锁的指针。
void QWriteLocker::relock()
重新锁定。
另请参阅: unlock()。
void QWriteLocker::unlock()
解锁。
另请参阅: QReadWriteLock::unlock()。
