QFutureSynchronizer Class
template <typename T> class QFutureSynchronizerQFutureSynchronizerクラスは、QFuture 同期を簡素化する便利なクラスです。詳細...
Header: | #include <QFutureSynchronizer> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバのリスト
- QFutureSynchronizer はスレッドクラスに属しています。
パブリック関数
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() を呼び出し、最後にfuture をaddFuture() に渡す。
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。