task_handle 클래스
task_handle
클래스는 개별 병렬 작업 항목을 나타냅니다. 작업을 실행하는 데 필요한 지침 및 데이터를 캡슐화합니다.
구문
template<
typename _Function
>
class task_handle : public ::Concurrency::details::_UnrealizedChore;
매개 변수
_기능
개체가 나타내는 작업을 실행하기 위해 호출될 함수 개체의 task_handle
형식입니다.
멤버
공용 생성자
속성 | 설명 |
---|---|
task_handle | 새 task_handle 개체를 생성합니다. 작업 작업은 생성자에 매개 변수로 지정된 함수를 호출하여 수행됩니다. |
~task_handle 소멸자 | 개체를 task_handle 삭제합니다. |
Public 연산자
속성 | 설명 |
---|---|
operator() | 런타임이 작업 핸들의 작업을 수행하기 위해 호출하는 함수 호출 연산자입니다. |
설명
task_handle
개체를 보다 일반적인 task_group
개체와 함께 structured_task_group
사용하여 작업을 병렬 작업으로 분해할 수 있습니다. 자세한 내용은 작업 병렬 처리를 참조하세요.
개체의 task_handle
작성자는 동시성 런타임에서 더 이상 필요하지 않을 때까지 만든 task_handle
개체의 수명을 유지 관리해야 합니다. 일반적으로 이는 개체가 큐에 task_handle
대기 중인 개체 또는 run_and_wait
structured_task_group
메서드가 task_group
호출될 때까지 wait
소멸되지 않아야 함을 의미합니다.
task_handle
개체는 일반적으로 C++ 람다와 함께 사용됩니다. 람다 의 실제 형식을 모르기 때문에 make_task 함수는 일반적으로 개체를 task_handle
만드는 데 사용됩니다.
런타임은 개체에 전달하는 작업 함수의 복사본을 task_handle
만듭니다. 따라서 개체에 전달하는 task_handle
함수 개체에서 발생하는 상태 변경 내용은 해당 함수 개체의 복사본에 표시되지 않습니다.
상속 계층 구조
task_handle
요구 사항
헤더: ppl.h
네임스페이스: 동시성
operator()
런타임이 작업 핸들의 작업을 수행하기 위해 호출하는 함수 호출 연산자입니다.
void operator()() const;
task_handle
새 task_handle
개체를 생성합니다. 작업 작업은 생성자에 매개 변수로 지정된 함수를 호출하여 수행됩니다.
task_handle(const _Function& _Func);
매개 변수
_Func
개체가 나타내는 작업을 실행하기 위해 호출될 task_handle
함수입니다. 람다 펀터, 함수에 대한 포인터 또는 시그니처 void operator()()
가 있는 함수 호출 연산자의 버전을 지원하는 개체일 수 있습니다.
설명
런타임은 생성자에 전달하는 작업 함수의 복사본을 만듭니다. 따라서 개체에 전달하는 task_handle
함수 개체에서 발생하는 상태 변경 내용은 해당 함수 개체의 복사본에 표시되지 않습니다.
~task_handle
개체를 task_handle
삭제합니다.
~task_handle();