QtConcurrent::QTaskBuilder Class
template <typename Task, typename... Args> class QtConcurrent::QTaskBuilderDie 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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTaskBuilder ist Teil der Threading-Klassen.
Ö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) |
Verwandte Nicht-Mitglieder
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.