QWriteLocker 类

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access. 更多...

头: #include <QWriteLocker>
qmake: QT += core

注意: 此类的所有函数 thread-safe .

公共函数

QWriteLocker (QReadWriteLock * lock )
~QWriteLocker ()
QReadWriteLock * readWriteLock () const
void relock ()
void unlock ()

详细描述

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.

目的对于 QWriteLocker (和 QReadLocker ) 是简化 QReadWriteLock 锁定和解锁。锁定和解锁语句或在异常处理中,代码容易出错且难以调试。 QWriteLocker 可以用于这种状况以确保锁的状态始终定义良好。

这里的范例是使用 QWriteLocker to lock and unlock a read-write lock for writing:

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:: QWriteLocker ( QReadWriteLock * lock )

构造 QWriteLocker 和锁 lock for writing. The lock will be unlocked when the QWriteLocker 被销毁。若 lock 为 0, QWriteLocker 什么都不做。

另请参阅 QReadWriteLock::lockForWrite ().

QWriteLocker:: ~QWriteLocker ()

销毁 QWriteLocker 并解锁被传递给构造函数的锁。

另请参阅 QReadWriteLock::unlock ().

QReadWriteLock *QWriteLocker:: readWriteLock () const

返回指向被传递给构造函数的读写锁的指针。

void QWriteLocker:: relock ()

重新锁定被解锁的锁。

另请参阅 unlock ().

void QWriteLocker:: unlock ()

解锁关联此锁定器的锁。

另请参阅 QReadWriteLock::unlock ().