Sur cette page

QtConcurrent::QTaskBuilder Class

template <typename Task, typename... Args> class QtConcurrent::QTaskBuilder

La classe QTaskBuilder sert à régler les paramètres des tâches. En savoir plus...

En-tête : #include <qtaskbuilder.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS Concurrent)
target_link_libraries(mytarget PRIVATE Qt6::Concurrent)
qmake : QT += concurrent
Depuis : Qt 6.0

Fonctions publiques

QtConcurrent::QTaskBuilder<Task, Args...> &onThreadPool(QThreadPool &newThreadPool)
QFuture<QtConcurrent::InvokeResultType> spawn()
void spawn(QtConcurrent::FutureResult)
QtConcurrent::QTaskBuilder<Task, ExtraArgs...> withArguments(ExtraArgs &&... args)
QtConcurrent::QTaskBuilder<Task, Args...> &withPriority(int newPriority)

Description détaillée

Le paramètre de modèle Task spécifie le type appelable, et Args spécifie les types d'arguments avec lesquels la tâche sera invoquée.

Il n'est pas possible de créer manuellement un objet de cette classe. Voir Tâche concurrente pour plus de détails et des exemples d'utilisation.

Documentation des fonctions membres

QtConcurrent::QTaskBuilder<Task, Args...> &QTaskBuilder::onThreadPool(QThreadPool &newThreadPool)

Définit l'newThreadPool du pool de threads sur lequel la tâche sera exécutée.

QFuture<QtConcurrent::InvokeResultType> QTaskBuilder::spawn()

Exécute la tâche dans un thread distinct et renvoie immédiatement un objet `Future`. Il s'agit d'un appel non bloquant. La tâche peut ne pas démarrer immédiatement.

void QTaskBuilder::spawn(QtConcurrent::FutureResult)

Exécute la tâche dans un thread distinct. Il s'agit d'un appel non bloquant. Il se peut que la tâche ne démarre pas immédiatement.

template <typename... ExtraArgs> QtConcurrent::QTaskBuilder<Task, ExtraArgs...> QTaskBuilder::withArguments(ExtraArgs &&... args)

Définit les arguments args squels la tâche sera appelée. Le code est mal formé (il provoque des erreurs de compilation) si :

  • Cette fonction est appelée plus d'une fois.
  • Le nombre d'arguments est égal à zéro.

QtConcurrent::QTaskBuilder<Task, Args...> &QTaskBuilder::withPriority(int newPriority)

Définit l'newPriority de priorité avec laquelle la tâche sera lancée.

Éléments associés non membres

[alias] InvokeResultType

La définition simplifiée de ce type se présente comme suit :

template <class Task, class ...Args>
using InvokeResultType = std::invoke_result_t<std::decay_t<Task>, std::decay_t<Args>...>;

L'implémentation réelle comprend également une vérification à la compilation permettant de déterminer si la tâche peut être invoquée avec les arguments spécifiés ou non.

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