Home · All Classes · Modules

QReadLocker Class Reference
[QtCore module]

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

Methods

Special Methods


Detailed Description

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;
 }

It is equivalent to the following code:

 QReadWriteLock lock;

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

The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.


Method Documentation

QReadLocker.__init__ (self, QReadWriteLock areadWriteLock)

Constructs a QReadLocker and locks lock for reading. The lock will be unlocked when the QReadLocker is destroyed. If lock is zero, QReadLocker does nothing.

See also QReadWriteLock.lockForRead().

QReadWriteLock QReadLocker.readWriteLock (self)

Returns a pointer to the read-write lock that was passed to the constructor.

QReadLocker.relock (self)

Relocks an unlocked lock.

See also unlock().

QReadLocker.unlock (self)

Unlocks the lock associated with this locker.

See also QReadWriteLock.unlock().

object QReadLocker.__enter__ (self)

QReadLocker.__exit__ (self, object type, object value, object traceback)


PyQt 4.12.1 for X11Copyright © Riverbank Computing Ltd and The Qt Company 2015Qt 4.8.7