TaskFactory.ContinueWhenAny Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
Przeciążenia
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.
- scheduler
- TaskScheduler
Służy TaskScheduler do planowania utworzonej kontynuacji Task.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Tablica tasks
to null
.
-lub-
continuationAction
to null
.
-lub-
scheduler
to null
.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Podany CancellationToken element został już usunięty.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny(Task[], Action<Task>)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
Przykłady
W poniższym przykładzie pokazano, jak używać elementów ContinueWhenAny
i 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
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
-lub-
cancellationToken
został już usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
-lub- Podany CancellationToken element został już usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.
- scheduler
- TaskScheduler
Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Tablica tasks
to null
.
-lub-
continuationFunction
to null
.
-lub-
scheduler
to null
.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Podany CancellationToken element został już usunięty.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
-lub- Podany CancellationToken element został już usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Tworzy kontynuację Task , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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
Parametry typu
- TAntecedentResult
Typ wyniku przedzidentu tasks
.
Parametry
- tasks
- Task<TAntecedentResult>[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat akcji do wykonania po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task.
- scheduler
- TaskScheduler
Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.
Zwraca
Nowa kontynuacja Task.
Wyjątki
Tablica tasks
to null
.
-lub-
continuationAction
to null
.
-lub-
paramref name="scheduler" /> to null
.
continuationOptions
określa nieprawidłową TaskContinuationOptions wartość.
Podany CancellationToken element został już usunięty.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
-lub- Podany CancellationToken element został już usunięty.
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Jeden z elementów w tablicy tasks
został usunięty.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania
Dotyczy
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Tworzy kontynuację Task<TResult> , która zostanie uruchomiona po zakończeniu dowolnego zadania w podanym zestawie.
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)
Parametry typu
- TResult
Typ wyniku zwracanego przez delegata continuationFunction
i skojarzony z utworzonym Task<TResult>elementem .
Parametry
- tasks
- Task[]
Tablica zadań, z których ma być kontynuowana po zakończeniu jednego zadania.
Delegat funkcji do wykonania asynchronicznie po zakończeniu tasks
jednego zadania w tablicy.
- cancellationToken
- CancellationToken
Element CancellationToken , który zostanie przypisany do nowego zadania kontynuacji.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Wartość, która kontroluje zachowanie utworzonej kontynuacji Task<TResult>.
- scheduler
- TaskScheduler
Służy TaskScheduler do planowania utworzonej kontynuacji Task<TResult>.
Zwraca
Nowa kontynuacja Task<TResult>.
Wyjątki
Tablica tasks
to null
.
-lub-
continuationFunction
to null
.
-lub-
scheduler
to null
.
continuationOptions
określa nieprawidłową wartość TaskContinuationOptions.
Podany CancellationToken element został już usunięty.
Uwagi
NotOn* i OnlyOn TaskContinuationOptions* , które ograniczają, dla których TaskStatus zostanie wykonana kontynuacja, są niedozwolone z .ContinueWhenAny
Zobacz też
- Biblioteka zadań równoległych (TPL)
- Tworzenie łańcuchów zadań przy użyciu zadań kontynuacji
- Anulowanie zadania