Auf dieser Seite

QtTaskTree::QBarrier Class

class QtTaskTree::QBarrier

Eine asynchrone Aufgabe, die bei Bedarf beendet wird. Mehr...

Kopfzeile: #include <qbarriertask.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
Seit: Qt 6.11
Erbt: QObject
Geerbt von:

QtTaskTree::QStartedBarrier

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

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)

Signale

void done(QtTaskTree::DoneResult result)

Reimplementierte geschützte Funktionen

virtual bool event(QEvent *event) override

Detaillierte Beschreibung

QBarrier wartet auf nachfolgende Aufrufe von advance(), um das Limit der Barriere (standardmäßig 1) zu erreichen. Sie wird mit DoneResult::Success beendet.

Sie wird oft in QTaskTree Rezepten verwendet, um die Ausführung nachfolgender sequenzieller Aufgaben anzuhalten, bis eine andere laufende Aufgabe Daten liefert, die für die Einrichtung der nachfolgenden Aufgaben benötigt werden.

Dokumentation der Mitgliedsfunktionen

[explicit] QBarrier::QBarrier(QObject *parent)

Konstruiert eine QBarrier mit einer gegebenen parent.

void QBarrier::advance()

Schiebt die Schranke vor. Wenn die Anzahl der Aufrufe von advance() das Limit der Schranke erreicht, wird die Schranke mit DoneResult::Success beendet.

qsizetype QBarrier::current() const

Gibt den aktuellen Zählerstand der Schranke zurück.

[private signal] void QBarrier::done(QtTaskTree::DoneResult result)

Dieses Signal wird ausgegeben, wenn die Barriere beendet ist, und übergibt die endgültige result der Ausführung.

Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann aber nicht vom Benutzer ausgegeben werden.

[override virtual protected] bool QBarrier::event(QEvent *event)

Reimplements: QObject::event(QEvent *e).

bool QBarrier::isRunning() const

Gibt true zurück, wenn die Schranke gerade läuft; andernfalls wird false zurückgegeben.

qsizetype QBarrier::limit() const

Gibt den aktuellen Grenzwert der Schranke zurück.

Siehe auch setLimit().

std::optional<QtTaskTree::DoneResult> QBarrier::result() const

Gibt das Ergebnis der Ausführung der Barriere zurück. Wenn die Barriere nicht gestartet wurde oder noch läuft, ist die zurückgegebene Option leer. Andernfalls wird das Ergebnis der letzten Ausführung zurückgegeben.

void QBarrier::setLimit(qsizetype value)

Legt die Grenze für value fest. Nach dem Start wird die Schranke beendet, wenn die Anzahl der Aufrufe von advance() das Limit erreicht.

Siehe auch limit().

void QBarrier::start()

Startet die Schranke.

void QBarrier::stopWithResult(QtTaskTree::DoneResult result)

Stoppt die laufende Schranke bedingungslos mit einer gegebenen result. Der Grenzwert der Barriere wird ignoriert.

© 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.