QWriteLocker Class
La classe QWriteLocker est une classe de commodité qui simplifie le verrouillage et le déverrouillage des verrous lecture-écriture pour l'accès à l'écriture. Plus d'informations...
| En-tête : | #include <QWriteLocker> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QWriteLocker fait partie de Threading Classes.
Remarque : toutes les fonctions de cette classe sont sûres pour les threads.
Fonctions publiques
| QWriteLocker(QReadWriteLock *lock) | |
| ~QWriteLocker() | |
| QReadWriteLock * | readWriteLock() const |
| void | relock() |
| void | unlock() |
Description détaillée
L'objectif de QWriteLocker (et de QReadLocker) est de simplifier le verrouillage et le déverrouillage de QReadWriteLock. Le verrouillage et le déverrouillage des instructions ou du code de gestion des exceptions sont sources d'erreurs et difficiles à déboguer. QWriteLocker peut être utilisé dans de telles situations pour s'assurer que l'état du verrou est toujours bien défini.
Voici un exemple qui utilise QWriteLocker pour verrouiller et déverrouiller un verrou de lecture-écriture pour l'écriture :
QReadWriteLock lock; void writeData(const QByteArray &data) { QWriteLocker locker(&lock); //... }
Il est équivalent au code suivant :
QReadWriteLock lock; void writeData(const QByteArray &data) { lock.lockForWrite(); //... lock.unlock(); }
La documentation de QMutexLocker montre des exemples où l'utilisation d'un objet locker simplifie grandement la programmation.
Voir également QReadLocker et QReadWriteLock.
Documentation sur les fonctions membres
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Construit un QWriteLocker et verrouille lock pour l'écriture. Le verrou sera déverrouillé lorsque le QWriteLocker sera détruit. Si lock vaut zéro, le QWriteLocker ne fait rien.
Voir aussi QReadWriteLock::lockForWrite().
[noexcept] QWriteLocker::~QWriteLocker()
Détruit le site QWriteLocker et déverrouille le verrou qui a été transmis au constructeur.
Voir également QReadWriteLock::unlock().
QReadWriteLock *QWriteLocker::readWriteLock() const
Renvoie un pointeur sur le verrou en lecture-écriture qui a été transmis au constructeur.
void QWriteLocker::relock()
Permet de reverrouiller une serrure déverrouillée.
Voir également unlock().
void QWriteLocker::unlock()
Déverrouille le cadenas associé à ce casier.
Voir aussi 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.