En esta página

QtTaskTree::QBarrier Class

class QtTaskTree::QBarrier

Una 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:

QtTaskTree::QStartedBarrier

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.