when_any (Función)
Crea una tarea que se completará correctamente cuando cualquiera de las tareas proporcionadas como argumentos se complete correctamente.
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
Tipo de iterador de entrada._Begin
Posición del primer elemento del intervalo de elementos que se va a combinar en la tarea resultante._End
Posición del primer elemento que supera el intervalo de elementos que se va a combinar en la tarea resultante._TaskOptions
_CancellationToken
El token de cancelación que controla la cancelación de la tarea devuelta. Si no proporciona ningún token de cancelación, la tarea resultante recibirá el token de cancelación de la tarea que causa su finalización.
Valor devuelto
Tarea que se completa correctamente cuando una de las tareas de entrada se completó correctamente. Si las tareas de entrada son del tipo T, el resultado de esta función será task<std::pair<T, size_t>>>, donde el primer elemento del par será el resultado de la tarea que finaliza y el segundo elemento será el índice de la tarea que terminó. Si las tareas de entrada son del tipo void, la salida será task<size_t>, donde el índice es el resultado de la tarea que finaliza.
Comentarios
when_any es una función sin bloqueos que produce task como resultado. A diferencia de task::wait, es seguro llamar a esta función en una aplicación Tienda Windows en el subproceso de ASTA (aplicación STA).
Para obtener más información, vea Paralelismo de tareas (Runtime de simultaneidad).
Requisitos
Encabezado: ppltasks.h
Espacio de nombres: simultaneidad
Vea también
Referencia
concurrency (Espacio de nombres)