QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierUna tarea asíncrona que finaliza bajo demanda. Más...
| Cabecera: | #include <qbarriertask.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Desde: | Qt 6.11 |
| Hereda de: | QObject |
| Heredado por: |
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| QBarrier(QObject *parent) | |
| void | advance() |
| qsizetype | current() const |
| bool | isRunning() const |
| qsizetype | limit() const |
| std::optional<QtTaskTree::DoneResult> | result() const |
| void | setLimit(qsizetype value) |
| void | start() |
| void | stopWithResult(QtTaskTree::DoneResult result) |
Señales
| void | done(QtTaskTree::DoneResult result) |
Funciones protegidas reimplementadas
| virtual bool | event(QEvent *event) override |
Descripción detallada
QBarrier espera a que las siguientes llamadas a advance() alcancen el límite de la barrera (1 por defecto). Finaliza con DoneResult::Success.
Se utiliza a menudo en las recetas de QTaskTree para retener la ejecución de tareas secuenciales posteriores hasta que alguna otra tarea en ejecución entregue algunos datos que son necesarios para configurar las tareas posteriores.
Documentación de la función miembro
[explicit] QBarrier::QBarrier(QObject *parent)
Construye un QBarrier con una dirección parent.
void QBarrier::advance()
Avanza la barrera. Si el número de llamadas a advance() alcanza el límite de la barrera, ésta finaliza con DoneResult::Success.
qsizetype QBarrier::current() const
Devuelve la cuenta de avance actual de la barrera.
[private signal] void QBarrier::done(QtTaskTree::DoneResult result)
Esta señal se emite cuando la barrera ha finalizado, pasando la result final de la ejecución.
Nota: Esta es una señal privada. Puede ser utilizada en conexiones de señales pero no puede ser emitida por el usuario.
[override virtual protected] bool QBarrier::event(QEvent *event)
Reimplementa: QObject::event(QEvent *e).
bool QBarrier::isRunning() const
Devuelve true si la barrera se está ejecutando actualmente; en caso contrario, devuelve false.
qsizetype QBarrier::limit() const
Devuelve el límite actual de la barrera.
Véase también setLimit().
std::optional<QtTaskTree::DoneResult> QBarrier::result() const
Devuelve el resultado de la ejecución de la barrera. Si la barrera no se inició o aún está en ejecución, el opcional devuelto está vacío. En caso contrario, devuelve el resultado de la última ejecución.
void QBarrier::setLimit(qsizetype value)
Establece el límite de value. Una vez iniciada, la barrera finaliza cuando el número de llamadas a advance() alcanza el límite.
Véase también limit().
void QBarrier::start()
Inicia la barrera.
void QBarrier::stopWithResult(QtTaskTree::DoneResult result)
Detiene incondicionalmente la barrera en ejecución con un result dado. Se ignora el límite de la barrera.
© 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.