Qt 태스크트리
Qt 태스크트리는 적절한 에러 처리 및 실행 정책으로 비동기 작업 워크플로우를 구성하고 실행하는 선언적 방법을 제공합니다.
참고: 6.11의 Qt 태스크트리는 기술 프리뷰 버전으로, Qt의 호환성 약속에서 해당 API는 제외됩니다.
시작하기
Qt 태스크트리를 사용하면 다양한 실행 정책, 병렬/순차 실행, 적절한 오류 처리 기능을 갖춘 복잡한 태스크 계층 구조를 만들 수 있습니다.
주요 개념:
- 레시피 - 태스크 워크플로우에 대한 선언적 설명.
- 그룹 - 하위 작업에 대한 실행 정책을 정의하는 컨테이너.
- 스토리지 - 태스크 간에 데이터를 공유하기 위한 스레드 로컬 스토리지 시스템.
- 반복기 - 루프 및 반복 작업 실행을 지원합니다.
모듈 사용하기
Qt 모듈의 C++ API를 사용하려면 직접 또는 다른 종속성을 통해 모듈 라이브러리에 연결해야 합니다. CMake 및 qmake를 비롯한 여러 빌드 도구가 이를 지원합니다.
CMake로 빌드하기
find_package() 명령을 사용하여 Qt6 패키지에서 필요한 모듈 컴포넌트를 찾습니다:
find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)자세한 내용은 CMake로 빌드 개요를 참조하세요.
qmake로 빌드하기
qmake로 빌드하도록 모듈을 구성하려면 프로젝트의 .pro 파일에 QT 변수의 값으로 모듈을 추가합니다:
QT += tasktree
작업 어댑터
이 모듈에는 일반적인 작업을 위한 몇 가지 기본 제공 작업 어댑터가 포함되어 있습니다:
- QProcessTask - 외부 프로세스를 실행합니다.
- QThreadFunctionTask - 별도의 스레드에서 함수를 실행합니다.
- QNetworkReplyWrapperTask - 네트워크 작업을 처리합니다.
- QTcpSocketWrapperTask - TCP 소켓 작업을 처리합니다.
- QBarrierTask - 동기화 프리미티브를 제공합니다.
- QTimeoutTask - 타이머 기반 지연을 제공합니다.
워크플로 정책
그룹은 작업 결과 처리를 위한 다양한 워크플로 정책을 지원합니다:
- StopOnError - 첫 번째 오류 발생 시 실행을 중지합니다(기본값).
- ContinueOnError - 오류에도 불구하고 실행을 계속합니다.
- StopOnSuccess - 첫 번째 작업 성공 시 실행을 중지합니다.
- ContinueOnSuccess - 성공한 작업에도 불구하고 계속 진행.
- StopOnSuccessOrError - 첫 번째 완료된 작업에서 중지.
- FinishAllAndSuccess - 모든 작업을 실행하고 성공을 보고합니다.
- FinishAllAndError - 모든 작업을 실행하고 오류를 보고합니다.
예제
참조
라이선스
Qt TaskTree 모듈은 Qt Company의 상용 라이센스에 따라 사용할 수 있습니다. 또한 무료 소프트웨어 라이선스에 따라 사용할 수 있습니다: GNU 약소 일반 공중 사용 허가서, 버전 3 또는 GNU 일반 공중 사용 허가서, 버전 2. 자세한 내용은 Qt 라이선스를 참조하십시오.
© 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.