QFutureSynchronizer Class

template <typename T> class QFutureSynchronizer

QFutureSynchronizerクラスは、QFuture 同期を簡素化する便利なクラスです。詳細...

Header: #include <QFutureSynchronizer>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

QFutureSynchronizer()
QFutureSynchronizer(QFuture<T> future)
~QFutureSynchronizer()
void addFuture(QFuture<T> future)
bool cancelOnWait() const
void clearFutures()
QList<QFuture<T>> futures() const
void setCancelOnWait(bool enabled)
void setFuture(QFuture<T> future)
void waitForFinished()

詳細説明

QFutureSynchronizer は、1 つ以上のQFuture オブジェクトの同期を簡素化するテンプレート・クラスです。フューチャーはaddFuture() またはsetFuture() 関数を使用して追加します。futures() 関数は先物のリストを返します。QFutureSynchronizer からすべてのフューチャを削除するには、clearFutures() を使用します。

waitForFinished() 関数は、すべてのフューチャが終了するまで待機します。QFutureSynchronizer のデストラクタはwaitForFinished() を呼び出すので、関数から戻る前にすべてのフューチャが終了したことを簡単に確認できます:

void someFunction()
{
    QFutureSynchronizer<void> synchronizer;

    ...

    synchronizer.addFuture(QtConcurrent::run(anotherFunction));
    synchronizer.addFuture(QtConcurrent::map(list, mapFunction));

    return; // QFutureSynchronizer waits for all futures to finish
}

waitForFinished ()の動作は、setCancelOnWait ()関数を使用して変更できます。setCancelOnWait (true)を呼び出すと、waitForFinished ()は、すべてのフューチャーが終了するのを待つ前に、すべてのフューチャーをキャンセルします。cancelOnWait ()関数を使用すると、キャンセル・オン・ウェイト機能のステータスを照会できます。

QFuture,QFutureWatcher,Qt Concurrentも参照してください

メンバ関数 ドキュメント

QFutureSynchronizer::QFutureSynchronizer()

QFutureSynchronizer を構築します。

[explicit] QFutureSynchronizer::QFutureSynchronizer(QFuture<T> future)

QFutureSynchronizer を構築し、addFuture() を呼び出してfuture の監視を開始します。

addFuture()も参照してください

QFutureSynchronizer::~QFutureSynchronizer()

このQFutureSynchronizer を破棄する前に、すべてのフューチャーが終了したことを確認するためにwaitForFinished() 関数を呼び出します。

waitForFinished()も参照

void QFutureSynchronizer::addFuture(QFuture<T> future)

管理されている先物のリストにfuture を追加。

futures() も参照

bool QFutureSynchronizer::cancelOnWait() const

cancel-on-wait 機能が有効な場合はtrue を返し、そうでない場合は false を返す。cancel-on-wait が有効な場合、waitForFinished() 関数は、すべての先物の終了を待つ前にキャンセルします。

setCancelOnWait() およびwaitForFinished()も参照

void QFutureSynchronizer::clearFutures()

このQFutureSynchronizer から、管理されているすべての先物を削除する。

addFuture() およびsetFuture() も参照

QList<QFuture<T>> QFutureSynchronizer::futures() const

すべての管理対象先物のリストを返します。

addFuture() およびsetFuture() も参照して ください。

void QFutureSynchronizer::setCancelOnWait(bool enabled)

enabled 引数に基づいて、キャンセル・オン・ウェイト機能を有効または無効にします。enabled が true の場合、waitForFinished() 関数は、すべての先物の終了を待つ前にキャンセルする。

cancelOnWait() およびwaitForFinished()も参照

void QFutureSynchronizer::setFuture(QFuture<T> future)

future を、このQFutureSynchronizer が管理する唯一の未来に設定する。これは便利な関数で、waitForFinished() を呼び出し、次にclearFutures() を呼び出し、最後にfutureaddFuture() に渡す。

addFuture()、waitForFinished()、clearFutures()も参照

void QFutureSynchronizer::waitForFinished()

すべての先物の終了を待つ。cancelOnWait() がtrue を返す場合、各フューチャーは終了を待つ前にキャンセルされる。

cancelOnWait() およびsetCancelOnWait()も参照

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。