Share via


structured_task_group::run 메서드

structured_task_group 개체에서 작업을 예약합니다. 호출자가 _Task_handle 매개 변수에 전달된 task_handle 개체의 수명을 관리합니다.

template<
   class _Function
>
void run(
   task_handle<_Function>& _Task_handle
);

매개 변수

  • _Function
    작업 핸들의 본문을 실행하기 위해 호출되는 함수 개체의 형식입니다.

  • _Task_handle
    예약 중인 작업에 대한 핸들입니다. 이 개체의 수명은 호출자의 책임입니다. 런타임은 wait 또는 run_and_wait 메서드가 이 structured_task_group 개체에서 호출될 때까지 계속 존재합니다.

설명

런타임에서 사용자가 이 메서드로 전달하는 작업 함수의 복사본을 만듭니다. 이 메서드에 전달하는 함수 개체에서 발생하는 모든 상태 변경은 해당 함수 개체의 사본에 나타나지 않습니다.

structured_task_group이 예외에서 스택 해제의 결과로 소멸되는 경우 호출이 wait 또는 run_and_wait 메서드로 이루어지지 않도록 보장할 필요가 없습니다. 이 경우 소멸자는 적절히 취소되고 _Task_handle 매개 변수로 표현되는 작업이 완료되기를 기다립니다.

_Task_handle 매개 변수에서 제공된 작업 핸들이 이미 run 메서드를 통해 작업 그룹 개체에 예약되었고 해당 작업 그룹에 wait 또는 run_and_wait 메서드에 대한 호출 중단이 없는 경우 invalid_multiple_scheduling 예외가 throw됩니다.

요구 사항

헤더: ppl.h

네임스페이스: 동시성

참고 항목

참조

structured_task_group 클래스

structured_task_group::wait 메서드

개념

작업 병렬 처리(동시성 런타임)

기타 리소스

structured_task_group::run_and_wait 메서드