QFutureSynchronizer Class

template <typename T> class QFutureSynchronizer

QFutureSynchronizer 클래스는 QFuture 동기화를 간소화하는 편의 클래스입니다. 더 보기...

헤더: #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는 하나 이상의 QFuture 객체의 동기화를 단순화하는 템플릿 클래스입니다. 퓨처는 addFuture() 또는 setFuture() 함수를 사용하여 추가됩니다. futures () 함수는 선물 목록을 반환합니다. clearFutures ()를 사용하여 QFutureSynchronizer에서 모든 선물을 제거합니다.

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 ()를 호출하면 waitForFinished()가 모든 선물이 완료될 때까지 기다리기 전에 모든 선물을 취소합니다. cancelOnWait () 함수를 사용하여 대기 중 취소 기능의 상태를 쿼리할 수 있습니다.

QFuture, QFutureWatcher, 및 Qt Concurrent.

멤버 함수 문서

QFutureSynchronizer::QFutureSynchronizer()

QFutureSynchronizer를 생성합니다.

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

addFuture()을 호출하여 QFutureSynchronizer를 구성하고 future 감시를 시작합니다.

addFuture()도 참조하십시오 .

QFutureSynchronizer::~QFutureSynchronizer()

waitForFinished() 함수를 호출하여 이 QFutureSynchronizer 을 삭제하기 전에 모든 선물이 종료되었는지 확인합니다.

waitForFinished()도 참조하세요 .

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

관리되는 선물 목록에 future 을 추가합니다.

futures()도 참조하세요 .

bool QFutureSynchronizer::cancelOnWait() const

대기 중 취소 기능이 활성화된 경우 true 을 반환하고, 그렇지 않으면 false를 반환합니다. 대기 중 취소가 활성화된 경우 waitForFinished() 함수는 선물이 완료될 때까지 기다리기 전에 모든 선물을 취소합니다.

setCancelOnWait() 및 waitForFinished()도 참조하세요 .

void QFutureSynchronizer::clearFutures()

QFutureSynchronizer 에서 관리되는 모든 선물을 제거합니다.

addFuture() 및 setFuture()도 참조하세요 .

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

관리되는 모든 선물 목록을 반환합니다.

addFuture() 및 setFuture()도 참조하세요 .

void QFutureSynchronizer::setCancelOnWait(bool enabled)

enabled 인수에 따라 대기 중 취소 기능을 활성화 또는 비활성화합니다. enabled 가 참이면 waitForFinished() 함수는 모든 선물이 완료될 때까지 기다리기 전에 모든 선물을 취소합니다.

cancelOnWait() 및 waitForFinished()도 참조하세요 .

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

future 을 이 QFutureSynchronizer 에서 관리하는 유일한 미래로 설정합니다. waitForFinished (), clearFutures(), 마지막으로 futureaddFuture()로 전달하는 편의 함수입니다.

addFuture(), waitForFinished() 및 clearFutures()도 참조하세요 .

void QFutureSynchronizer::waitForFinished()

모든 퓨처가 완료될 때까지 기다립니다. cancelOnWait ()가 true 을 반환하면 각 선물이 완료될 때까지 기다리기 전에 취소됩니다.

cancelOnWait() 및 setCancelOnWait()도 참조하세요 .

© 2025 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.