Função when_any
Cria uma tarefa que será concluída com êxito quando qualquer tarefa fornecida como argumento é concluída com sucesso.
template<
typename _Iterator
>
auto when_any(
_Iterator_Begin,
_Iterator_End,
const task_options& _TaskOptions = task_options()
) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));
template<
typename _Iterator
>
auto when_any(
_Iterator_Begin,
_Iterator_End,
cancellation_token _CancellationToken
) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _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
_CancellationToken
O token de cancelamento que controla o cancelamento de tarefa retornada. Se você não fornecer um token de cancelamento, a tarefa resultante receberá o token de cancelamento da tarefa que fará com que ele seja concluído.
Valor de retorno
Uma tarefa que ela seja concluída com sucesso quando qualquer uma das tarefas de entrada for concluída com êxito. Se as tarefas de entrada são do tipo T, a saída dessa função será uma task<std::pair<T, size_t>>>, onde o primeiro elemento de pares é o resultado da tarefa de conclusão e o segundo elemento é o índice da tarefa que foi concluída. Se as tarefas de entrada são do tipo void, a saída é task<size_t>, onde o resultado é o índice da tarefa a ser concluída.
Comentários
when_any é 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).
Para obter mais informações, consulte Paralelismo de tarefa (tempo de execução de simultaneidade).
Requisitos
Cabeçalho: ppltasks.h
Namespace: simultaneidade