QtConcurrent::QTaskBuilder Class
template <typename Task, typename... Args> class QtConcurrent::QTaskBuilderQTaskBuilder クラスは、タスクのパラメータを調整するために使用されます。詳細...
| ヘッダー: | #include <qtaskbuilder.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Concurrent) target_link_libraries(mytarget PRIVATE Qt6::Concurrent) |
| qmake: | QT += concurrent |
| 以下のように: | Qt 6.0 |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QTaskBuilderはスレッド関連クラスの一部です。
パブリック関数
| 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) |
関連する非メンバー
詳細な説明
テンプレートパラメータ `Task ` は呼び出し可能な型を指定し、`Args ` はタスクの呼び出しに使用される引数の型を指定します。
このクラスのオブジェクトを手動で作成することはできません。詳細および使用例については、「並行タスク」を参照してください。
メンバ関数のドキュメント
QtConcurrent::QTaskBuilder<Task, Args...> &QTaskBuilder::onThreadPool(QThreadPool &newThreadPool)
タスクが実行されるスレッドプール `newThreadPool ` を設定します。
QFuture<QtConcurrent::InvokeResultType> QTaskBuilder::spawn()
タスクを別のスレッドで実行し、直ちにフューチャーオブジェクトを返します。これはノンブロッキング呼び出しです。タスクは直ちに開始されない場合があります。
void QTaskBuilder::spawn(QtConcurrent::FutureResult)
タスクを別のスレッドで実行します。これはノンブロッキング呼び出しです。タスクは直ちに開始されない場合があります。
template <typename... ExtraArgs> QtConcurrent::QTaskBuilder<Task, ExtraArgs...> QTaskBuilder::withArguments(ExtraArgs &&... args)
タスクが呼び出される際に使用される引数 `args ` を設定します。以下の場合、コードは不正な形式となり(コンパイルエラーが発生します):
- この関数が 2 回以上呼び出された場合。
- 引数の数が 0 の場合。
QtConcurrent::QTaskBuilder<Task, Args...> &QTaskBuilder::withPriority(int newPriority)
タスクが呼び出される際の優先度newPriority を設定します。
© 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.