Class: QgsReadWriteLocker¶
-
class
qgis.core.
QgsReadWriteLocker
(lock: QReadWriteLock, mode: QgsReadWriteLocker.Mode)¶ Bases:
sip.wrapper
Create a new
QgsReadWriteLocker
forlock
and initialize inmode
.QgsReadWriteLocker(
QgsReadWriteLocker
)The
QgsReadWriteLocker
class is a convenience class that simplifies locking and unlocking QReadWriteLocks.Locking and unlocking a QReadWriteLocks in complex functions and statements or in exception handling code is error-prone and difficult to debug.
QgsReadWriteLocker
can be used in such situations to ensure that the state of the lock is always well-defined.QgsReadWriteLocker
should be created within a function where a QReadWriteLock needs to be locked. The lock may be locked whenQgsReadWriteLocker
is created or when changeMode is called. You can unlock and relock the lock with unlock() and changeMode(). If locked, the lock will be unlocked when theQgsReadWriteLocker
is destroyed.New in version 3.4.
- Parameters
lock (QReadWriteLock) –
mode –
-
class
Mode
¶ Bases:
int
-
Read
= 0¶
-
Unlocked
= 2¶
-
Write
= 1¶
-
changeMode
(self, mode: QgsReadWriteLocker.Mode)¶ Change the mode of the lock to
mode
. The lock will be unlocked and relocked as required.- Parameters
mode (QgsReadWriteLocker.Mode) –
-
unlock
(self)¶ Unlocks the lock. Equivalent to doing
changeMode( QgsReadWriteLocker.Unlock );