when_all 함수
인수로 제공된 모든 작업이 성공적으로 완료될 경우 완료되는 작업을 만듭니다.
template <
typename _Iterator
>
auto when_all(
_Iterator_Begin,
_Iterator_End,
const task_options& _TaskOptions = task_options()
) -> decltype (details::_WhenAllImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));
매개 변수
_Iterator
입력 반복기의 형식입니다._Begin
결과 작업으로 결합되는 요소 범위 내 첫 번째 요소의 위치입니다._End
결과 작업으로 결합되는 요소 범위를 벗어나는 첫 번째 요소의 위치입니다._TaskOptions
반환 값
모든 입력 작업이 성공적으로 완료되는 경우 완료되는 작업입니다. 입력 작업이 T 형식이면 이 함수의 출력은 **task<std::vector<T>>**가 됩니다. 입력 작업이 void 형식이면 이 함수의 출력 작업도 **task<void>**가 됩니다.
설명
when_all는 해당 결과로 task를 생성하는 비차단 함수입니다. task::wait와 다르게 ASTA(응용 프로그램 STA) 스레드에 대한 Windows 스토어 응용 프로그램에서 이 함수를 호출하는 것이 안전합니다.
작업 중 하나가 취소되거나 예외를 throw하는 경우 반환된 작업은 취소된 상태로 일찍 완료되며 task::get 또는 task::wait를 호출하면 예외(발생한 경우)가 throw됩니다.
자세한 내용은 작업 병렬 처리(동시성 런타임)을 참조하십시오.
요구 사항
헤더: ppltasks.h
네임스페이스: 동시성