QReadLocker¶
The QReadLocker
class is a convenience class that simplifies locking and unlocking read-write locks for read access. More…
Synopsis¶
Functions¶
def
__enter__
()def
__exit__
(arg__1, arg__2, arg__3)def
readWriteLock
()def
relock
()def
unlock
()
Detailed Description¶
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:
lock = QReadWriteLock() readData = QByteArray() locker = QReadLocker(lock) ... return data
It is equivalent to the following code:
lock = QReadWriteLock() readData = QByteArray() lock.lockForRead() ... lock.unlock() return data
The QMutexLocker
documentation shows examples where the use of a locker object greatly simplifies programming.
See also
- class PySide6.QtCore.QReadLocker(readWriteLock)¶
- Parameters
readWriteLock –
PySide6.QtCore.QReadWriteLock
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
- PySide6.QtCore.QReadLocker.__enter__()¶
- Return type
- PySide6.QtCore.QReadLocker.__exit__(arg__1, arg__2, arg__3)¶
- Parameters
arg__1 – object
arg__2 – object
arg__3 – object
- PySide6.QtCore.QReadLocker.readWriteLock()¶
- Return type
Returns a pointer to the read-write lock that was passed to the constructor.
- PySide6.QtCore.QReadLocker.relock()¶
Relocks an unlocked lock.
See also
- PySide6.QtCore.QReadLocker.unlock()¶
Unlocks the lock associated with this locker.
See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.