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 withunlock()
andchangeMode()
. 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 );