The QReadLocker class is a convenience class that simplifies locking and unlocking read-write locks for read access. 更多...
The QReadLocker class is a convenience class that simplifies locking and unlocking read-write locks for read access.
The purpose of QReadLocker (and QWriteLocker ) is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QReadLocker can be used in such situations to ensure that the state of the lock is always well-defined.
Here's an example that uses QReadLocker to lock and unlock a read-write lock for reading:
QReadWriteLock lock; QByteArray readData() { QReadLocker locker(&lock); ... return data; }
它相当于以下代码:
QReadWriteLock lock; QByteArray readData() { lock.lockForRead(); ... lock.unlock(); return data; }
QMutexLocker 文档编制 shows examples where the use of a locker object greatly simplifies programming.
构造 QReadLocker and locks lock for reading. The lock will be unlocked when the QReadLocker is destroyed. If lock is zero, QReadLocker does nothing.
另请参阅 QReadWriteLock.lockForRead ().
Returns a pointer to the read-write lock that was passed to the 构造函数。
重新锁定被解锁的锁。
另请参阅 unlock ().
解锁关联此锁定器的锁。
另请参阅 QReadWriteLock.unlock ().