QWriteLocker Class
La classe QWriteLocker est une classe utilitaire qui simplifie la mise en place et la levée des verrous en lecture-écriture pour l'accès en écriture. En savoir plus...
| 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 des classes de multithreading.
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
QWriteLocker (et QReadLocker) a pour but de simplifier le verrouillage et le déverrouillage d'QReadWriteLock. Le verrouillage et le déverrouillage dans des instructions ou dans du code de gestion des exceptions sont sources d'erreurs et difficiles à déboguer. QWriteLocker peut être utilisé dans de telles situations pour garantir que l'état du verrou est toujours bien défini.
Voici un exemple utilisant QWriteLocker pour verrouiller et déverrouiller un verrou en lecture-écriture en vue d'une écriture :
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
QWriteLocker locker(&lock);
//...
}Cela équivaut au code suivant :
QReadWriteLock lock;
void writeData(const QByteArray &data)
{
lock.lockForWrite();
//...
lock.unlock();
}La documentation d’ QMutexLocker présente des exemples où l’utilisation d’un objet « locker » simplifie considérablement la programmation.
Voir également QReadLocker et QReadWriteLock.
Documentation sur les fonctions membres
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Crée un objet QWriteLocker et verrouille ` lock ` en écriture. Le verrou sera déverrouillé lorsque l'objet QWriteLocker sera détruit. Si ` lock ` est égal à zéro, QWriteLocker ne fait rien.
Voir aussi QReadWriteLock::lockForWrite().
[noexcept] QWriteLocker::~QWriteLocker()
Détruit l'QWriteLocker et déverrouille le verrou qui a été transmis au constructeur.
Voir aussi QReadWriteLock::unlock().
QReadWriteLock *QWriteLocker::readWriteLock() const
Renvoie un pointeur vers le verrou en lecture-écriture qui a été transmis au constructeur.
void QWriteLocker::relock()
Verrouille à nouveau une serrure déverrouillée.
Voir aussi unlock().
void QWriteLocker::unlock()
Déverrouille le verrou 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.