QWriteLocker Class
Die Klasse QWriteLocker ist eine Komfortklasse, die das Sperren und Entsperren von Lese- und Schreibsperren für den Schreibzugriff vereinfacht. Mehr...
Kopfzeile: | #include <QWriteLocker> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QWriteLocker ist Teil der Threading-Klassen.
Hinweis: Alle Funktionen in dieser Klasse sind thread-sicher.
Öffentliche Funktionen
QWriteLocker(QReadWriteLock *lock) | |
~QWriteLocker() | |
QReadWriteLock * | readWriteLock() const |
void | relock() |
void | unlock() |
Detaillierte Beschreibung
Der Zweck von QWriteLocker (und QReadLocker) ist die Vereinfachung von QReadWriteLock locking und unlocking. Das Sperren und Entsperren von Anweisungen oder Code zur Ausnahmebehandlung ist fehleranfällig und schwer zu debuggen. QWriteLocker kann in solchen Situationen verwendet werden, um sicherzustellen, dass der Zustand der Sperre immer wohldefiniert ist.
Hier ist ein Beispiel, das QWriteLocker verwendet, um eine Schreib-Lese-Sperre zu sperren und zu entsperren:
QReadWriteLock lock; void writeData(const QByteArray &data) { QWriteLocker locker(&lock); ... }
Es ist äquivalent zu folgendem Code:
QReadWriteLock lock; void writeData(const QByteArray &data) { lock.lockForWrite(); ... lock.unlock(); }
Die Dokumentation QMutexLocker zeigt Beispiele, bei denen die Verwendung eines Locker-Objekts die Programmierung erheblich vereinfacht.
Siehe auch QReadLocker und QReadWriteLock.
Dokumentation der Mitgliedsfunktionen
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Konstruiert einen QWriteLocker und sperrt lock zum Schreiben. Die Sperre wird aufgehoben, wenn der QWriteLocker zerstört wird. Wenn lock
Null ist, tut QWriteLocker nichts.
Siehe auch QReadWriteLock::lockForWrite().
[noexcept]
QWriteLocker::~QWriteLocker()
Zerstört die QWriteLocker und hebt die Sperre auf, die an den Konstruktor übergeben wurde.
Siehe auch QReadWriteLock::unlock().
QReadWriteLock *QWriteLocker::readWriteLock() const
Gibt einen Zeiger auf die Lese- und Schreibsperre zurück, die an den Konstruktor übergeben wurde.
void QWriteLocker::relock()
Verriegelt ein entriegeltes Schloss wieder.
Siehe auch unlock().
void QWriteLocker::unlock()
Entriegelt das mit diesem Schließfach verbundene Schloss.
Siehe auch QReadWriteLock::unlock().
© 2025 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.