TaskFactory.ContinueWhenAny Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
Surcharges
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task de continuation créée.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task de continuation créée.
- scheduler
- TaskScheduler
TaskScheduler utilisé pour planifier la Task de continuation créée.
Retours
Nouvelle Task de continuation.
Exceptions
Le tableau tasks
a la valeur null
.
- ou -
continuationAction
a la valeurnull
.
-ou-
scheduler
a la valeur null
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Le CancellationToken fourni a déjà été supprimé.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny(Task[], Action<Task>)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Le tableau tasks
a la valeur null
.
- ou -
L'argument
continuationAction
a la valeurnull
.
Exemples
L’exemple suivant montre comment utiliser ContinueWhenAny
et 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
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
- ou -
cancellationToken
a déjà été supprimé.
Le tableau tasks
a la valeur null
.
- ou -
L'argument
continuationAction
a la valeurnull
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task<TResult> de continuation créée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
- ou - Le CancellationToken fourni a déjà été supprimé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task<TResult> de continuation créée.
- scheduler
- TaskScheduler
TaskScheduler utilisé pour planifier la Task<TResult> de continuation créée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
-ou-
scheduler
a la valeur null
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Le CancellationToken fourni a déjà été supprimé.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
- ou - Le CancellationToken fourni a déjà été supprimé.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task de continuation créée.
Retours
Nouvelle Task de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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
Paramètres de type
- TAntecedentResult
Type du résultat du tasks
antécédent.
Paramètres
- tasks
- Task<TAntecedentResult>[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué d'action à exécuter quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task de continuation créée.
- scheduler
- TaskScheduler
TaskScheduler utilisé pour planifier la Task<TResult> de continuation créée.
Retours
Nouvelle Task de continuation.
Exceptions
Le tableau tasks
a la valeur null
.
ou -
continuationAction
a la valeurnull
.ou - paramref name="scheduler" /> est
null
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Le CancellationToken fourni a déjà été supprimé.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
- ou - Le CancellationToken fourni a déjà été supprimé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task<TResult> de continuation créée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
L’un des éléments du tableau tasks
a été éliminé.
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches
S’applique à
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.
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)
Paramètres de type
- TResult
Type du résultat retourné par le délégué continuationFunction
et associé au Task<TResult> créé.
Paramètres
- tasks
- Task[]
Tableau de tâches à partir duquel continuer lorsqu'une tâche se termine.
Délégué de fonction à exécuter en mode asynchrone quand une tâche du tableau tasks
est terminée.
- cancellationToken
- CancellationToken
CancellationToken qui sera assigné à la nouvelle tâche de continuation.
- continuationOptions
- TaskContinuationOptions
Valeur TaskContinuationOptions qui contrôle le comportement de la Task<TResult> de continuation créée.
- scheduler
- TaskScheduler
TaskScheduler utilisé pour planifier la Task<TResult> de continuation créée.
Retours
Nouvelle Task<TResult> de continuation.
Exceptions
Le tableau tasks
a la valeur null
.
- ou -
continuationFunction
a la valeurnull
.
-ou-
scheduler
a la valeur null
.
continuationOptions
spécifie une valeur de TaskContinuationOptions non valide.
Le CancellationToken fourni a déjà été supprimé.
Remarques
NotOn* et OnlyOnTaskContinuationOptions*, qui limitent l’exécution TaskStatus d’une continuation, sont illégales avec ContinueWhenAny
.
Voir aussi
- Bibliothèque parallèle de tâches
- Chaînage des tâches à l’aide de tâches de continuation
- Annulation de tâches