Função when_all
Cria uma tarefa que será concluída com êxito quando todas as tarefas fornecidas como argumentos são concluídas com sucesso.
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));
Parâmetros
_Iterator
O tipo do iterador de entrada._Begin
A posição do primeiro elemento no intervalo de elementos a ser combinado na tarefa resultante._End
A posição do primeiro elemento além do intervalo de elementos a ser combinado na tarefa resultante._TaskOptions
Valor de retorno
Uma tarefa que é concluída com êxito quando todas as tarefas de entrada forem concluída com êxito. Se as tarefas de entrada são do tipo T, a saída dessa função será task<std::vector<T>>. Se as tarefas de entrada são do tipo void, a tarefa de saída também será task<void>.
Comentários
when_all é uma função sem bloqueio que produz uma task como resultado. Ao contrário de task::wait, é seguro chamar essa função em um aplicativo Windows Store na thread de ASTA (Aplicativo STA).
Se uma das tarefas for cancelada ou lançar uma exceção, a tarefa retornada será concluída com antecedência no estado cancelado e a exceção, se for encontrada, será lançada se você chamar task::get ou task::wait nessa tarefa.
Para obter mais informações, consulte Paralelismo de tarefa (tempo de execução de simultaneidade).
Requisitos
Cabeçalho: ppltasks.h
Namespace: simultaneidade