Compartilhar via


Função de when_any

Cria uma tarefa será concluída com êxito quando qualquer uma das tarefas fornecidas como argumentos é concluída com êxito.

template<
   typename _Iterator
>
auto when_any(
   _Iterator_Begin,
   _Iterator_End
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));

template<
   typename _Iterator
>
auto when_any(
   _Iterator_Begin,
   _Iterator_End,
   cancellation_token _CancellationToken
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _Begin, _End));

Parâmetros

  • _Iterator
    O tipo de iterador de entrada.

  • _Begin
    A posição do primeiro elemento no intervalo de elementos a serem combinados em tarefa resultante.

  • _End
    A posição do primeiro elemento além do intervalo de elementos a serem combinados em tarefa resultante.

  • _CancellationToken
    O símbolo de cancelamento que controla o cancelamento da tarefa retornada.Se você não fornecer um token de cancelamento, a tarefa resultante receberá o token de cancelamento da tarefa que faz com que ele complete.

Valor de retorno

Uma tarefa é concluída com êxito quando qualquer uma das tarefas de entrada foi concluída com êxito.Se as tarefas de entrada são do tipo T, a saída dessa função será um task<std::pair<T, size_t>>>, onde o primeiro elemento do par é o resultado da tarefa de conclusão e o segundo elemento é o índice da tarefa concluída.Se as tarefas de entrada são do tipo void a saída é um task<size_t>, onde o resultado é o índice da tarefa de conclusão.

Requisitos

Cabeçalho: ppltasks.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace

Conceitos

Paralelismo de tarefa (tempo de execução de simultaneidade)