Funzione when_all
Crea un'attività che verrà completata correttamente quando tutte le attività fornite come argomenti verranno completate correttamente.
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));
Parametri
_Iterator
Tipo di iteratore di input._Begin
La posizione del primo elemento nell'intervallo di elementi da combinare nell'attività risultante._End
La posizione del primo elemento oltre l'intervallo di elementi da combinare nell'attività risultante._TaskOptions
Valore restituito
Attività che viene completata correttamente quando tutte le attività di input sono state completata. Se le attività di input sono di tipo T, l'output di questa funzione sarà un oggetto task<std::vector<T>>. Se le attività di input sono di tipo void, anche l'attività di output sarà un oggetto task<void>.
Note
when_all è una funzione non bloccante che produce task come risultato. A differenza di task::wait, è opportuno chiamare questa funzione in un'applicazione Windows Store nel thread ASTA (Application STA).
Se una delle attività viene annullata o viene generata un'eccezione, l'attività restituita verrà completata in anticipo, nello stato annullato, e l'eccezione, se ne è presente una, verrà generata in caso di chiamata a task::get o task::wait sull'attività in questione.
Per ulteriori informazioni, vedere Parallelismo delle attività (runtime di concorrenza).
Requisiti
Intestazione: ppltasks.h
Spazio dei nomi: concorrenza