다음을 통해 공유


task_group::run_and_wait 메서드

전체 취소 지원을 받으려면 task_group 개체의 지원을 받아 호출 컨텍스트에 대해 인라인 실행하는 작업을 예약합니다. 그런 다음 함수는 task_group 개체에 대한 모든 작업이 완료되거나 취소될 때까지 대기합니다. task_handle 개체가 매개 변수로 run_and_wait에 전달되는 경우 호출자는 task_handle 개체의 수명을 관리하는 일을 담당합니다.

template<
   class _Function
>
task_group_status run_and_wait(
   task_handle<_Function>& _Task_handle
);
template<
   class _Function
>
task_group_status run_and_wait(
   const _Function& _Func
);

매개 변수

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

  • _Task_handle
    호출 컨텍스트에서 인라인을 실행할 작업에 대한 핸들입니다. 이 개체의 수명은 호출자의 책임입니다. 런타임은 run_and_wait 메서드가 실행을 완료할 때까지 라이브로 계속 유지됩니다.

  • _Func
    작업 본문을 호출하기 위해 호출할 함수입니다. 이는 시그니처 **void operator()()**를 갖는 함수 호출 연산자의 버전을 지원하는 람다 식 또는 다른 개체일 수 있습니다.

반환 값

명시적인 취소 작업 또는 작업 중 하나에서 예외가 throw되어 대기가 충족되지 않았거나 작업 그룹이 취소되었는지 여부를 나타냅니다. 자세한 내용은 task_group_status를 참조하십시오.

설명

task_group 개체에 예약된 작업 중 하나 이상이 호출 컨텍스트에서 인라인 실행할 수 있습니다.

task_group 개체에 예약된 작업 중 하나 이상이 예외를 throw하는 경우 런타임은 이런 예외를 선택하고 run_and_wait 메서드에 대한 호출을 전파합니다.

task_group 개체의 run_and_wait 메서드에서 반환되면 런타임은 재사용할 수 있는 정리된 상태로 개체를 재설정합니다. 여기에는 task_group 개체가 취소된 경우를 포함합니다.

실행의 에외가 없는 경로에서 task_group의 소멸자를 실행하기 전에 이 메서드 또는 wait 메서드를 호출해야 합니다.

요구 사항

헤더: ppl.h

네임스페이스: 동시성

참고 항목

참조

task_group 클래스

task_group::run 메서드

task_group::wait 메서드

개념

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