when_any — Funkcja
Tworzy zadanie, które zostanie ukończone pomyślnie, gdy dowolne zadania dostarczone jako argumenty zakończą się pomyślnie.
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));
Parametry
_Iterator
Typ iteratora wejściowego._Begin
Pozycja pierwszego elementu w zakresie elementów, które można połączyć w zadanie wynikowe._End
Pozycja pierwszego elementu poza zakresem elementów, które można połączyć w zadanie wynikowe._TaskOptions
_CancellationToken
Token anulowania, który steruje anulowaniem zadania zwróconego.Jeśli token anulowania nie zostanie określony, wynikowe zadanie otrzyma token anulowania zadania, które powoduje jego ukończenie.
Wartość zwracana
Zadanie, które zostaje wykonane pomyślnie, jeśli dowolne jedno z zadań wejściowych zostaje wykonane pomyślnie.Jeśli zadania wejściowe są typu T, danymi wyjściowymi tej funkcji będą task<std::pair<T, size_t>>>, gdzie pierwszy element pary jest wynikiem ukończenia zadania, a drugi element jest indeksem zakończonego zadania.Jeśli zadania wejściowe są typu void, danymi wyjściowymi są task<size_t>, gdzie wynik jest indeksem kończonego zadania.
Uwagi
when_any jest funkcją bez blokowania, która wytwarza task i jej wynik.W przeciwieństwie do task::wait, można bezpiecznie wywołać tę funkcję w aplikacji Windows Store w wątku ASTA (Aplikacja STA).
Aby uzyskać więcej informacji, zobacz Równoległość zadania (współbieżność środowiska wykonawczego).
Wymagania
Nagłówek: ppltasks.h
Przestrzeń nazw: concurrency
Zobacz też
Informacje
concurrency — Przestrzeń nazwy
Koncepcje
Równoległość zadania (współbieżność środowiska wykonawczego)