다음을 통해 공유


task::task 생성자(C++ REST SDK)

task 개체를 생성합니다.

task();

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param);

template<
   typename _Ty
>
__declspec(
   noinline
) explicit task(_Ty _Param, const task_options& _TaskOptions);

task(
   const task& _Other
);

task(
   task&& _Other
);

매개 변수

  • _Ty
    작업이 생성되는 매개 변수 형식입니다.

  • _Param
    작업이 생성되는 매개 변수입니다. 이는 람다, 함수 개체, task_completion_event<result_type> 개체이거나 Windows 스토어 응용 프로그램에서 작업을 사용할 경우 Windows::Foundation::IAsyncInfo일 수 있습니다. 람다 또는 함수 개체는 **std::function<X(void)>**와 동일한 형식이어야 합니다. 여기서 X는 result_type, task<result_type> 또는 Windows::Foundation::IAsyncInfo(Windows 스토어 응용 프로그램의 경우) 형식의 변수일 수 있습니다.

  • _TaskOptions
    작업 옵션에는 취소 토큰, 스케줄러 등이 포함됩니다.

  • _Other
    소스 task 개체입니다.

설명

task에 대한 기본 생성자는 컨테이너 내에서 사용할 수 있는 작업을 허용하기 위해서만 존재합니다. 유효한 작업을 할당할 때까지 기본 생성 작업을 사용할 수 없습니다. get, wait 또는 then과 같은 메서드는 기본 생성 작업에서 호출될 때 invalid_argument 예외를 throw합니다.

task_completion_event에서 만든 작업은 작업 완료 이벤트가 설정되면 완료됩니다(연속 실행되도록 예약되어 있음).

취소 토큰을 사용하는 생성자의 버전은 이 토큰을 가져온 cancellation_token_source를 사용하여 취소할 수 있는 작업을 만듭니다. 취소 토큰 없이 만든 작업은 취소할 수 없습니다.

Windows::Foundation::IAsyncInfo 인터페이스에서 생성되었거나 IAsyncInfo 인터페이스를 반환하는 람다에서 생성된 작업은 포함된 Windows 런타임 비동기 작업 또는 동작이 완료될 때 종료 상태에 도달합니다. 마찬가지로 **task<result_type>**을 반환하는 람다에서 생성된 작업은 내부 작업이 종료 상태에 도달하고 람다가 반환되지 않을 때 종료 상태에 도달합니다.

task는 스마트 포인터처럼 작동하고 값으로 안전하게 전달됩니다. 또한 잠글 필요 없이 여러 스레드에서 액세스할 수 있습니다.

Windows::Foundation::IAsyncInfo 인터페이스 또는 그러한 인터페이스를 반환하는 람다를 사용하는 생성자 오버로드는 Window 스토어 응용 프로그램에만 사용할 수 있습니다.

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

요구 사항

헤더: pplxtasks.h

네임스페이스: pplx

참고 항목

참조

task 클래스