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 が 1 の場合、一度に実行できる子タスクは 1 つだけである。これは逐次実行を意味し、代わりにsequential 要素を使ってもよい。この場合、子タスクは連鎖的に実行されるので、前の子タスクが終了した後に次の子タスクが開始される。
- limit として他の正の数を渡すと、グループの子タスクは並列に実行されるが、同時に実行されるタスクの数には制限がある。制限は、グループ内で並行して実行されるタスクの最大数を定義する。グループが開始されると、タスクの最初のバッチが開始され(バッチ内のタスク数は最大でも渡された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.