structured_task_group::run 메서드

structured_task_group 개체에서 작업을 예약합니다.호출자가 _Task_handle 매개 변수에 전달된 task_handle 개체의 수명을 관리합니다.매개 변수를 사용 하는 버전 _Placement 작업이 되도록 해당 매개 변수에서 지정한 위치에 실행 쪽으로 편중 (biased) 되어야 합니다.

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

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

매개 변수

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

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

  • _Placement
    작업을 표시 하는 위치에 대 한 참조를 _Task_handle 매개 변수를 실행 해야 합니다.

설명

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

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 메서드

위치 클래스

개념

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