QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierUne tâche asynchrone qui se termine à la demande. Plus d'informations...
| 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 : | QObject |
| Hérité par : |
Note : 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 ultérieurs à 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 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 des données nécessaires à la configuration des tâches suivantes.
Documentation sur les fonctions membres
[explicit] QBarrier::QBarrier(QObject *parent)
Construit un QBarrier avec un parent donné.
void QBarrier::advance()
Avance la barrière. Si le nombre d'appels à advance() atteint la limite de la barrière, celle-ci se termine par DoneResult::Success.
qsizetype QBarrier::current() const
Renvoie le compte d'avancement actuel de la barrière.
[private signal] void QBarrier::done(QtTaskTree::DoneResult result)
Ce signal est émis lorsque la barrière est terminée, en transmettant le dernier result de l'exécution.
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 en cours d'exécution ; sinon, renvoie false.
qsizetype QBarrier::limit() const
Renvoie la limite de courant 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é démarrée ou si elle est toujours en cours d'exécution, l'option retournée est vide. Sinon, elle renvoie le résultat de la dernière exécution.
void QBarrier::setLimit(qsizetype value)
Fixe la limite à value. Une fois lancée, la barrière se termine lorsque le nombre d'appels à advance() atteint la limite.
Voir également limit().
void QBarrier::start()
Démarre la barrière.
void QBarrier::stopWithResult(QtTaskTree::DoneResult result)
Arrête la barrière en cours d'exécution de manière inconditionnelle avec un result donné. 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.