다음을 통해 공유


작업 클래스(동시성 런타임)

PPL(병렬 패턴 라이브러리) task 클래스입니다. task 개체는 비동기식으로 실행할 수 있으며 동시성 런타임의 병렬 알고리즘을 통해 생성되는 기타 작업 및 병렬 작업과 동시에 실행할 수 있는 작업을 나타냅니다. 이러한 작업이 정상적으로 완료되면 _ResultType 형식의 결과가 생성됩니다. task<void> 형식의 작업에서는 결과가 생성되지 않습니다. 작업은 다른 작업과 관계없이 대기 및 취소할 수 있으며 연속(then), 조인 (when_all) 및 선택(when_any) 패턴을 사용하여 다른 작업으로 구성될 수도 있습니다.

template <    typename _Type > class task;  template <> class task<void>;  template<    typename _ReturnType > class task;

매개 변수

  • _Type

  • T

  • _ReturnType
    이 작업의 결과 형식입니다.

멤버

공용 Typedefs

이름

설명

result_type

이 클래스의 개체가 생성하는 결과의 형식입니다.

Public 생성자

이름

설명

task::task 생성자

오버로드됨. task 개체를 생성합니다.

Public 메서드

이름

설명

task::get 메서드

오버로드됨. 이 작업으로 생성된 결과를 반환합니다. 작업이 종료 상태가 아닐 경우 get에 대한 호출은 작업이 끝날 때까지 대기합니다. 이 메서드는 result_typevoid을 사용하는 작업에서 호출될 때는 값을 반환하지 않습니다.

task::is_apartment_aware 메서드

작업이 Windows 런타임 IAsyncInfo 인터페이스의 래핑을 해제하는지 여부 또는 그러한 작업의 하위 작업인지 여부를 확인합니다.

task::is_done 메서드(동시성 런타임)

작업 완료 여부를 확인합니다.

task::scheduler 메서드(동시성 런타임)

이 작업에 대해 스케줄러를 반환합니다.

task::then 메서드

오버로드됨. 이 작업에 연속 작업을 추가합니다.

task::wait 메서드

이 작업이 종료 상태에 도달할 때까지 기다립니다. wait은 작업 종속성을 모두 만족하며 백그라운드 작업자에 의해 이미 선택되지 않은 경우 작업을 인라인 실행할 수 있습니다.

Public 연산자

이름

설명

task::operator!= 연산자

오버로드됨. 두 task 개체가 서로 다른 내부 작업을 나타내는지 여부를 확인합니다.

task::operator= 연산자

오버로드됨. 하나의 task 개체 콘텐츠를 다른 개체 콘텐츠로 바꿉니다.

task::operator== 연산자

오버로드됨. 두 task 개체가 동일한 내부 작업을 나타내는지 여부를 확인합니다.

설명

ppltasks.h에 정의되어 있는 작업 클래스 및 관련 형식은 플랫폼 간에 이식 가능하며 비동기 HTTP용 이식 가능한 라이브러리인 C++ REST SDK의 기반이 됩니다.

자세한 내용은 작업 병렬 처리(동시성 런타임)을 참조하십시오.

상속 계층

task

요구 사항

헤더: ppltasks.h

네임스페이스: 동시성

참고 항목

참조

동시성 네임스페이스