TaskFactory.ContinueWhenAny Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
Overload
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), continuationOptions As TaskContinuationOptions) As Task
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Taskcreata.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
continuationOptions specifica un valore TaskContinuationOptions non valido.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Taskcreata.
- scheduler
- TaskScheduler
Oggetto TaskScheduler utilizzato per pianificare la continuazione Taskcreata.
Valori restituiti
Nuova continuazione Task.
Eccezioni
La tasks matrice è null.
oppure
continuationAction è null.
oppure
scheduler è null.
continuationOptions specifica un valore TaskContinuationOptions non valido.
L'oggetto specificato CancellationToken è già stato eliminato.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny(Task[], Action<Task>)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task)) As Task
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
Esempio
L'esempio seguente illustra come usare ContinueWhenAny e ContinueWhenAll:
using System;
using System.Threading;
using System.Threading.Tasks;
class ContinueWhenMultiDemo
{
// Demonstrated features:
// Task.Factory
// TaskFactory.ContinueWhenAll()
// TaskFactory.ContinueWhenAny()
// Task.Wait()
// Expected results:
// Three tasks are created in parallel.
// Each task for a different period of time prints a number and returns it.
// A ContinueWhenAny() task indicates the first of the three tasks to complete.
// A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
// Documentation:
// http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
static void Main()
{
// Schedule a list of tasks that return integer
Task<int>[] tasks = new Task<int>[]
{
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(500);
Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 5;
}),
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(10);
Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 3;
}),
Task<int>.Factory.StartNew(() =>
{
Thread.Sleep(200);
Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
return 2;
})
};
// Schedule a continuation to indicate the result of the first task to complete
Task.Factory.ContinueWhenAny(tasks, winner =>
{
// You would expect winning result = 3 on multi-core systems, because you expect
// tasks[1] to finish first.
Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result);
});
// Schedule a continuation that sums up the results of all tasks, then wait on it.
// The list of antecendent tasks is passed as an argument by the runtime.
Task.Factory.ContinueWhenAll(tasks,
(antecendents) =>
{
int sum = 0;
foreach (Task<int> task in antecendents)
{
sum += task.Result;
}
Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum);
})
.Wait();
}
}
Imports System.Threading
Imports System.Threading.Tasks
Module ContinuationWhenMulti
' Demonstrated features:
' Task.Factory
' TaskFactory.ContinueWhenAll()
' TaskFactory.ContinueWhenAny()
' Task.Wait()
' Expected results:
' Three tasks are created in parallel.
' Each task for a different period of time prints a number and returns it.
' A ContinueWhenAny() task indicates the first of the three tasks to complete.
' A ContinueWhenAll() task sums up the results of the three tasks and prints out the total.
' Documentation:
' http://msdn.microsoft.com/library/system.threading.tasks.taskfactory_members(VS.100).aspx
Sub Main()
' Schedule a list of tasks that return integer
Dim tasks As Task(Of Integer)() = New Task(Of Integer)() {
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(500)
Console.WriteLine("Task={0}, Thread={1}, x=5", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 5
End Function),
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(10)
Console.WriteLine("Task={0}, Thread={1}, x=3", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 3
End Function),
Task(Of Integer).Factory.StartNew(Function()
Thread.Sleep(200)
Console.WriteLine("Task={0}, Thread={1}, x=2", Task.CurrentId, Thread.CurrentThread.ManagedThreadId)
Return 2
End Function)}
' Schedule a continuation to indicate the result of the first task to complete
Task.Factory.ContinueWhenAny(tasks, Sub(winner)
' You would expect winning result = 3 on multi-core systems, because you expect
' tasks[1] to finish first.
Console.WriteLine("Task={0}, Thread={1} (ContinueWhenAny): Winning result = {2}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, winner.Result)
End Sub)
' Schedule a continuation that sums up the results of all tasks, then wait on it.
' The list of antecendent tasks is passed as an argument by the runtime.
Task.Factory.ContinueWhenAll(tasks, Sub(antecendents)
Dim sum As Integer = 0
For Each task__1 As Task(Of Integer) In antecendents
sum += task__1.Result
Next
Console.WriteLine("Task={0}, Thread={1}, (ContinueWhenAll): Total={2} (expected 10)", Task.CurrentId, Thread.CurrentThread.ManagedThreadId, sum)
End Sub).Wait()
End Sub
End Module
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Action<System::Threading::Tasks::Task ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny(System.Threading.Tasks.Task[] tasks, Action<System.Threading.Tasks.Task> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Action<System.Threading.Tasks.Task> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny (tasks As Task(), continuationAction As Action(Of Task), cancellationToken As CancellationToken) As Task
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
oppure
cancellationToken è già stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Task<TResult>creata.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
continuationOptions specifica un valore TaskContinuationOptions non valido.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult)) As Task(Of TResult)
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
oppure
L'oggetto specificato CancellationToken è già stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult, typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult,TResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult, TResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Task<TResult>creata.
- scheduler
- TaskScheduler
Oggetto TaskScheduler utilizzato per pianificare la continuazione Task<TResult>creata.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
La tasks matrice è null.
oppure
continuationFunction è null.
oppure
scheduler è null.
continuationOptions specifica un valore TaskContinuationOptions non valido.
L'oggetto specificato CancellationToken è già stato eliminato.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult))) As Task
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), cancellationToken As CancellationToken) As Task
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
oppure
L'oggetto specificato CancellationToken è già stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), continuationOptions As TaskContinuationOptions) As Task
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Taskcreata.
Valori restituiti
Nuova continuazione Task.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
continuationOptions specifica un valore TaskContinuationOptions non valido.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea una continuazione Task che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TAntecedentResult>
System::Threading::Tasks::Task ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Action<System::Threading::Tasks::Task<TAntecedentResult> ^> ^ continuationAction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task ContinueWhenAny<TAntecedentResult>(System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Action<System.Threading.Tasks.Task<TAntecedentResult>> continuationAction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Action<System.Threading.Tasks.Task<'AntecedentResult>> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationAction As Action(Of Task(Of TAntecedentResult)), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task
Parametri di tipo
- TAntecedentResult
Tipo del risultato dell'oggetto precedente tasks.
Parametri
- tasks
- Task<TAntecedentResult>[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato dell'azione da eseguire al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Taskcreata.
- scheduler
- TaskScheduler
Oggetto TaskScheduler utilizzato per pianificare la continuazione Task<TResult>creata.
Valori restituiti
Nuova continuazione Task.
Eccezioni
La tasks matrice è null.
oppure
continuationAction è null.
oppure
paramref name="scheduler" /> è null.
continuationOptions specifica un valore non valido TaskContinuationOptions .
L'oggetto specificato CancellationToken è già stato eliminato.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult)) As Task(Of TResult)
Parametri di tipo
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken) As Task(Of TResult)
Parametri di tipo
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
oppure
L'oggetto specificato CancellationToken è già stato eliminato.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)
Parametri di tipo
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Task<TResult>creata.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
Uno degli elementi nella tasks matrice è stato eliminato.
continuationOptions specifica un valore TaskContinuationOptions non valido.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività
Si applica a
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crea una continuazione Task<TResult> che verrà avviata al completamento di qualsiasi attività nel set specificato.
public:
generic <typename TResult>
System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TResult>(System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TResult) (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)
Parametri di tipo
- TResult
Tipo del risultato restituito dal continuationFunction delegato e associato all'oggetto creato Task<TResult>.
Parametri
- tasks
- Task[]
Matrice di attività da cui continuare al completamento di un'attività.
Delegato della funzione da eseguire in modo asincrono al completamento di un'attività nella tasks matrice.
- cancellationToken
- CancellationToken
Oggetto CancellationToken che verrà assegnato alla nuova attività di continuazione.
- continuationOptions
- TaskContinuationOptions
Valore TaskContinuationOptions che controlla il comportamento della continuazione Task<TResult>creata.
- scheduler
- TaskScheduler
Oggetto TaskScheduler utilizzato per pianificare la continuazione Task<TResult>creata.
Valori restituiti
Nuova continuazione Task<TResult>.
Eccezioni
La tasks matrice è null.
oppure
continuationFunction è null.
oppure
scheduler è null.
continuationOptions specifica un valore TaskContinuationOptions non valido.
L'oggetto specificato CancellationToken è già stato eliminato.
Commenti
NotOn* e OnlyOn* TaskContinuationOptions, che vincolano per quali TaskStatus stati verrà eseguita una continuazione, non sono validi con ContinueWhenAny.
Vedi anche
- Task Parallel Library (TPL)
- concatenamento delle attività tramite attività di continuazione
- Annullamento attività