QWriteLocker Class
Die Klasse „QWriteLocker“ ist eine Hilfsklasse, die das Sperren und Entsperren von Lese-/Schreibsperren für den Schreibzugriff vereinfacht. Mehr...
| Header: | #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 dieser Klasse sind threadsicher.
Öffentliche Funktionen
| QWriteLocker(QReadWriteLock *lock) | |
| ~QWriteLocker() | |
| QReadWriteLock * | readWriteLock() const |
| void | relock() |
| void | unlock() |
Ausführliche Beschreibung
Der Zweck von QWriteLocker (und QReadLocker) besteht darin, das Sperren und Entsperren von ` QReadWriteLock ` zu vereinfachen. Das Sperren und Entsperren von Anweisungen oder im Code zur Ausnahmebehandlung ist fehleranfällig und schwer zu debuggen. QWriteLocker kann in solchen Situationen verwendet werden, um sicherzustellen, dass der Status der Sperre stets eindeutig definiert ist.
Hier ist ein Beispiel, das QWriteLocker verwendet, um eine Lese-/Schreibsperre zum Schreiben zu sperren und zu entsperren:
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
QWriteLocker locker(&lock);
//...
}Dies entspricht dem folgenden Code:
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
lock.lockForWrite();
//...
lock.unlock();
}Die Dokumentation zu „ QMutexLocker “ enthält Beispiele, in denen die Verwendung eines Locker-Objekts die Programmierung erheblich vereinfacht.
Siehe auch QReadLocker und QReadWriteLock.
Dokumentation zu Mitgliedsfunktionen
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Erstellt einen QWriteLocker und sperrt „ lock “ für Schreibzugriffe. Die Sperre wird aufgehoben, wenn der QWriteLocker zerstört wird. Ist „ lock “ gleich Null, führt der QWriteLocker keine Aktion aus.
Siehe auch QReadWriteLock::lockForWrite().
[noexcept] QWriteLocker::~QWriteLocker()
Löscht die „ QWriteLocker “ und entsperrt das Schloss, das an den Konstruktor übergeben wurde.
Siehe auch ` QReadWriteLock::unlock()`.
QReadWriteLock *QWriteLocker::readWriteLock() const
Gibt einen Zeiger auf die Lese-/Schreibsperre zurück, die an den Konstruktor übergeben wurde.
void QWriteLocker::relock()
Verriegelt ein entriegeltes Schloss erneut.
Siehe auch unlock().
void QWriteLocker::unlock()
Entriegelt das zu diesem Spind gehörende Schloss.
Siehe auch QReadWriteLock::unlock().
© 2026 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.