QWriteLocker Class
La clase QWriteLocker es una clase de conveniencia que simplifica el bloqueo y desbloqueo de bloqueos de lectura-escritura para el acceso de escritura. Más...
| Cabecera: | #include <QWriteLocker> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QWriteLocker es parte de la clase Threading Classes.
Nota: Todas las funciones de esta clase son thread-safe.
Funciones Públicas
| QWriteLocker(QReadWriteLock *lock) | |
| ~QWriteLocker() | |
| QReadWriteLock * | readWriteLock() const |
| void | relock() |
| void | unlock() |
Descripción Detallada
El propósito de QWriteLocker (y QReadLocker) es simplificar el bloqueo y desbloqueo de QReadWriteLock. Bloquear y desbloquear sentencias o en código de manejo de excepciones es propenso a errores y difícil de depurar. QWriteLocker puede usarse en tales situaciones para asegurar que el estado del bloqueo está siempre bien definido.
Aquí hay un ejemplo que usa QWriteLocker para bloquear y desbloquear un bloqueo de lectura-escritura para escribir:
QReadWriteLock lock; void writeData(const QByteArray &data) { QWriteLocker locker(&lock); //... }
Es equivalente al siguiente código:
QReadWriteLock lock; void writeData(const QByteArray &data) { lock.lockForWrite(); //... lock.unlock(); }
La documentación de QMutexLocker muestra ejemplos en los que el uso de un objeto locker simplifica enormemente la programación.
Véase también QReadLocker y QReadWriteLock.
Documentación de funciones miembro
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
Construye un QWriteLocker y bloquea lock para escritura. El bloqueo se desbloqueará cuando se destruya el QWriteLocker. Si lock es cero, QWriteLocker no hace nada.
Vea tambien QReadWriteLock::lockForWrite().
[noexcept] QWriteLocker::~QWriteLocker()
Destruye QWriteLocker y desbloquea el candado que se pasó al constructor.
Véase también QReadWriteLock::unlock().
QReadWriteLock *QWriteLocker::readWriteLock() const
Devuelve un puntero al bloqueo de lectura-escritura que se pasó al constructor.
void QWriteLocker::relock()
Vuelve a bloquear una cerradura desbloqueada.
Véase también unlock().
void QWriteLocker::unlock()
Desbloquea la cerradura asociada a esta taquilla.
Véase también 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.