QtTaskTree::ParallelLimit Class
class QtTaskTree::ParallelLimitカスタム制限を設定した並列実行モード。詳細...
| ヘッダー: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 以下のように: | Qt 6.11 |
| 継承元: | QtTaskTree::ExecutionMode |
| ステータス: | テクノロジープレビュー |
このクラスはテクノロジープレビュー段階にあり、変更される可能性があります。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| ParallelLimit(int limit) |
詳細な説明
limit は、並行して実行される直接の子タスクの最大数を定義します。
- limit が 0 の場合、制限はなく、すべての子タスクがグループ内に記載されている順序で同時に開始されます。これは完全並列実行を意味し、代わりにparallel 要素を使用することもできます。
- limit が0の場合、一度に実行できる子タスクは1つだけとなります。これは順次実行を意味し、代わりにsequential 要素を使用することもできます。この場合、子タスクは連鎖して実行されるため、前の子タスクが終了してから次の子タスクが開始されます。
- limit として他の正の数が指定された場合、グループの子タスクは並列で実行されますが、同時に実行されるタスクの数には制限があります。 この制限は、グループ内で並列に実行されるタスクの最大数を定義します。グループが開始されると、最初のタスクのバッチが開始され(1バッチあたりのタスク数は、指定された `limit` の値以下となります)、残りのタスクは待機状態となります。 実行中のタスクのいずれかが終了すると、グループは残りのタスクのうち次のものを開始し、グループ内で同時に実行されるタスクのlimit が上限を超えないようにします。これは、すべての子タスクが開始されるまで、各子タスクの終了ごとに繰り返されます。これにより、たとえば、実行中のプロセスが多すぎるとマシンが長時間ブロックされてしまうような場合などに、同時に実行されるタスクの最大数を制限することができます。
ExecutionModeも参照してください 。
メンバ関数のドキュメント
ParallelLimit::ParallelLimit(int limit)
指定されたlimit を用いて、並列実行モードを構築します。
ExecutionModeも参照してください 。
© 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.