QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierUne tâche asynchrone qui s'achève à la demande. En savoir plus...
| En-tête : | #include <qbarriertask.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake : | QT += tasktree |
| Depuis : | Qt 6.11 |
| Hérite de : | QObject |
| Hérité par : | |
| Statut : | Aperçu technologique |
Cette classe est en préversion technologique et est susceptible d'être modifiée.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| 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) |
Signaux
| void | done(QtTaskTree::DoneResult result) |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *event) override |
Description détaillée
QBarrier attend que les appels successifs à advance() atteignent la limite de la barrière (1 par défaut). Elle se termine par DoneResult::Success.
Elle est souvent utilisée dans les recettes de type « QTaskTree » pour suspendre l’exécution des tâches séquentielles suivantes jusqu’à ce qu’une autre tâche en cours d’exécution fournisse les données nécessaires à la configuration des tâches suivantes.
Documentation des fonctions membres
[explicit] QBarrier::QBarrier(QObject *parent)
Crée un objet QBarrier avec l'parent, .
void QBarrier::advance()
Fait avancer la barrière. Si le nombre d'appels à la fonction advance() atteint la limite de la barrière, celle-ci se termine par l'DoneResult::Success.
qsizetype QBarrier::current() const
Renvoie le nombre actuel de dépassements de la barrière.
[private signal] void QBarrier::done(QtTaskTree::DoneResult result)
Ce signal est émis lorsque la barrière a terminé son exécution et a franchi l'result e finale.
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux, mais ne peut pas être émis par l'utilisateur.
[override virtual protected] bool QBarrier::event(QEvent *event)
Réimplémente : QObject::event(QEvent *e).
bool QBarrier::isRunning() const
Renvoie « true » si la barrière est actuellement en cours d'exécution ; sinon, renvoie « false ».
qsizetype QBarrier::limit() const
Renvoie la limite actuelle de la barrière.
Voir également setLimit().
std::optional<QtTaskTree::DoneResult> QBarrier::result() const
Renvoie le résultat de l'exécution de la barrière. Si la barrière n'a pas été lancée ou si elle est toujours en cours d'exécution, l'optional renvoyé est vide. Dans le cas contraire, il renvoie le résultat de la dernière exécution.
void QBarrier::setLimit(qsizetype value)
Définit la limite à value. Une fois lancée, la barrière prend fin lorsque le nombre d'appels à la fonction advance() atteint la limite.
Voir également limit().
void QBarrier::start()
Lance la barrière.
void QBarrier::stopWithResult(QtTaskTree::DoneResult result)
Arrête sans condition la barrière en cours d'exécution à l'result. La limite de la barrière est ignorée.
© 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.