QTaskBuilder Class

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

Die Klasse QTaskBuilder wird für die Anpassung von Aufgabenparametern verwendet. Mehr...

Kopfzeile: #include <QTaskBuilder>
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)

Detaillierte Beschreibung

Es ist nicht möglich, ein Objekt dieser Klasse manuell zu erstellen. Siehe Concurrent Task für weitere Details und Anwendungsbeispiele.

Dokumentation der Mitgliedsfunktionen

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

Legt den Thread-Pool newThreadPool fest, in dem die Aufgabe aufgerufen 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 werden soll. Der Code ist fehlerhaft (verursacht Kompilierungsfehler), wenn:

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

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 tatsächliche Implementierung enthält auch eine Kompilierzeitprüfung, ob die Aufgabe mit den angegebenen Argumenten aufgerufen werden kann oder nicht.

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