QReadLocker 类

The QReadLocker 类是简化读取访问读/写锁的锁定和解锁的方便类。 更多...

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

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

公共函数

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

详细描述

The QReadLocker 类是简化读取访问读/写锁的锁定和解锁的方便类。

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

这里的范例是使用 QReadLocker 锁定和解锁读写锁对于写入:

QReadWriteLock lock;
QByteArray readData()
{
    QReadLocker locker(&lock);
    ...
    return data;
}
					

它相当于以下代码:

QReadWriteLock lock;
QByteArray readData()
{
    lock.lockForRead();
    ...
    lock.unlock();
    return data;
}
					

The QMutexLocker 文档编制展示使用锁定器对象大大简化编程的范例。

另请参阅 QWriteLocker and QReadWriteLock .

成员函数文档编制

QReadLocker:: QReadLocker ( QReadWriteLock * lock )

构造 QReadLocker 和锁 lock 对于读取。锁将被解锁当 QReadLocker 被销毁。若 lock 为 0, QReadLocker 什么都不做。

另请参阅 QReadWriteLock::lockForRead ().

QReadLocker:: ~QReadLocker ()

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

另请参阅 QReadWriteLock::unlock ().

QReadWriteLock *QReadLocker:: readWriteLock () const

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

void QReadLocker:: relock ()

重新锁定被解锁的锁。

另请参阅 unlock ().

void QReadLocker:: unlock ()

解锁关联此锁定器的锁。

另请参阅 QReadWriteLock::unlock ().