QWriteLocker Class
QWriteLocker 是便捷类, 它简化了对读写锁, 写访问的的锁定和解锁. More...
头文件: | #include <QWriteLocker> |
qmake: | QT += core |
Note: All functions in this class are thread-safe.
公有函数
QWriteLocker(QReadWriteLock *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.
Member Function Documentation
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Constructs a QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock
is zero, QWriteLocker does nothing.
See also QReadWriteLock::lockForWrite().
QWriteLocker::~QWriteLocker()
Destroys the QWriteLocker and unlocks the lock that was passed to the constructor.
See also QReadWriteLock::unlock().
QReadWriteLock *QWriteLocker::readWriteLock() const
Returns a pointer to the read-write lock that was passed to the constructor.
void QWriteLocker::relock()
Relocks an unlocked lock.
See also unlock().
void QWriteLocker::unlock()
Unlocks the lock associated with this locker.
See also QReadWriteLock::unlock().