QWriteLocker Class

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

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

Note: All functions in this class are thread-safe.

Detailed Description

The purpose of QWriteLocker (and QReadLocker) is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QWriteLocker can be used in such situations to ensure that the state of the lock is always well-defined.

Here's an example that uses QWriteLocker to lock and unlock a read-write lock for writing:

 QReadWriteLock lock;

 void writeData(const QByteArray &data)
 {
     QWriteLocker locker(&lock);
     ...
 }

It is equivalent to the following code:

 QReadWriteLock lock;

 void writeData(const QByteArray &data)
 {
     lock.lockForWrite();
     ...
     lock.unlock();
 }

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

See also QReadLocker and QReadWriteLock.