Auf dieser Seite

QtConcurrent::QTaskBuilder Class

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

Die Klasse „QTaskBuilder“ dient zur Anpassung von Aufgabenparametern. Mehr...

Header: #include <qtaskbuilder.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Concurrent)
target_link_libraries(mytarget PRIVATE Qt6::Concurrent)
qmake: QT += concurrent
Seit: Qt 6.0

Öffentliche Funktionen

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)

Ausführliche Beschreibung

Der Vorlagenparameter „ Task “ gibt den aufrufbaren Typ an, und „ Args “ gibt die Argumenttypen an, mit denen die Aufgabe aufgerufen wird.

Es ist nicht möglich, ein Objekt dieser Klasse manuell zu erstellen. Weitere Details und Anwendungsbeispiele finden Sie unter „Concurrent Task “.

Dokumentation zu den Mitgliedsfunktionen

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

Legt die Thread-Pool- newThreadPool fest, auf der die Aufgabe ausgeführt wird.

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

Führt die Aufgabe in einem separaten Thread aus und gibt sofort ein Future-Objekt zurück. Dies ist ein nicht blockierender Aufruf. Die Aufgabe wird möglicherweise nicht sofort gestartet.

void QTaskBuilder::spawn(QtConcurrent::FutureResult)

Führt die Aufgabe in einem separaten Thread aus. Dies ist ein nicht blockierender Aufruf. Die Aufgabe wird möglicherweise nicht sofort gestartet.

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

Legt die Argumente „ args “ fest, mit denen die Aufgabe aufgerufen wird. Der Code ist fehlerhaft (führt zu Kompilierungsfehlern), wenn:

  • Diese Funktion mehr als einmal aufgerufen wird.
  • Die Anzahl der Argumente gleich Null ist.

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

Legt die Priorität „ newPriority “ fest, mit der die Aufgabe aufgerufen wird.

Verwandte Nicht-Mitglieder

[alias] InvokeResultType

Die vereinfachte Definition dieses Typs sieht wie folgt aus:

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

Die eigentliche Implementierung enthält zudem eine Überprüfung zur Kompilierungszeit, ob die Aufgabe mit den angegebenen Argumenten aufgerufen werden kann oder nicht.

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