QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierEine 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: |
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.