QWriteLocker¶
The QWriteLocker
class is a convenience class that simplifies locking and unlocking read-write locks for write 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 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:
lock = QReadWriteLock() def writeData(data): locker = QWriteLocker(lock) ...
It is equivalent to the following code:
lock = QReadWriteLock() def writeData(data): lock.lockForWrite() ... lock.unlock()
The QMutexLocker
documentation shows examples where the use of a locker object greatly simplifies programming.
See also
- class PySide6.QtCore.QWriteLocker(readWriteLock)¶
- Parameters
readWriteLock –
PySide6.QtCore.QReadWriteLock
Constructs a QWriteLocker
and locks lock
for writing. The lock will be unlocked when the QWriteLocker
is destroyed. If lock
is zero, QWriteLocker
does nothing.
See also
- PySide6.QtCore.QWriteLocker.__enter__()¶
- Return type
- PySide6.QtCore.QWriteLocker.__exit__(arg__1, arg__2, arg__3)¶
- Parameters
arg__1 – object
arg__2 – object
arg__3 – object
- PySide6.QtCore.QWriteLocker.readWriteLock()¶
- Return type
Returns a pointer to the read-write lock that was passed to the constructor.
- PySide6.QtCore.QWriteLocker.relock()¶
Relocks an unlocked lock.
See also
- PySide6.QtCore.QWriteLocker.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.