QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierオンデマンドで完了する非同期タスク。詳細...
| ヘッダー: | #include <qbarriertask.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 以下のように: | Qt 6.11 |
| 継承元: | QObject |
| 継承元: | |
| ステータス: | テクノロジープレビュー |
このクラスはテクノロジープレビュー段階にあり、変更される可能性があります。
注:このクラスのすべての関数は再入可能です。
パブリック関数
| QBarrier(QObject *parent) | |
| void | advance() |
| qsizetype | current() const |
| bool | isRunning() const |
| qsizetype | limit() const |
| std::optional<QtTaskTree::DoneResult> | result() const |
| void | setLimit(qsizetype value) |
| void | start() |
| void | stopWithResult(QtTaskTree::DoneResult result) |
シグナル
| void | done(QtTaskTree::DoneResult result) |
再実装された保護関数
| virtual bool | event(QEvent *event) override |
詳細な説明
QBarrier は、後続のadvance() の呼び出しがバリアの制限値(デフォルトは 1)に達するのを待ちます。DoneResult::Success で処理を終了します。
これは、QTaskTree のレシピで、後続のシーケンシャルタスクの実行を保留し、他の実行中のタスクが、後続のタスクの設定に必要なデータを配信するまで待機させるために頻繁に使用されます。
メンバ関数のドキュメント
[explicit] QBarrier::QBarrier(QObject *parent)
指定されたparent を持つQBarrierを構築します。
void QBarrier::advance()
バリアを前進させます。advance() の呼び出し回数がバリアの上限に達した場合、バリアは `DoneResult::Success` を返して終了します。
qsizetype QBarrier::current() const
バリアの現在のアドバンスカウントを返します。
[private signal] void QBarrier::done(QtTaskTree::DoneResult result)
このシグナルは、バリアが終了し、実行の最終result を通過したときに発信されます。
注:これは プライベートシグナルです。シグナル接続では使用できますが、ユーザーが発行することはできません。
[override virtual protected] bool QBarrier::event(QEvent *event)
QObject::event(QEvent *e) を再実装します。
bool QBarrier::isRunning() const
バリアが現在実行中の場合は `true ` を返し、そうでない場合は `false` を返します。
qsizetype QBarrier::limit() const
バリアの現在の制限値を返します。
setLimit()も参照してください 。
std::optional<QtTaskTree::DoneResult> QBarrier::result() const
バリアの実行結果を返します。バリアが開始されていないか、まだ実行中の場合は、返されるオプショナルは空になります。それ以外の場合は、最後の実行結果を返します。
void QBarrier::setLimit(qsizetype value)
制限値をvalue に設定します。開始後、advance()への呼び出し回数が制限値に達すると、バリアは終了します。
limit()も参照してください 。
void QBarrier::start()
バリアを開始します。
void QBarrier::stopWithResult(QtTaskTree::DoneResult result)
指定されたresult を使用して、実行中のバリアを無条件に停止します。バリアの制限は無視されます。
© 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.