TaskFactory.ContinueWhenAny Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
Přetížení
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.
Návraty
Nové pokračování Task.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.
- scheduler
- TaskScheduler
Slouží TaskScheduler k naplánování vytvořené pokračování Task.
Návraty
Nové pokračování Task.
Výjimky
Matice tasks je null.
nebo
continuationAction je null.
nebo
scheduler je null.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poskytnutá služba CancellationToken již byla uvolněna.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny(Task[], Action<Task>)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
Návraty
Nové pokračování Task.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
Příklady
Následující příklad ukazuje, jak používat ContinueWhenAny a 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
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
Návraty
Nové pokračování Task.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
nebo
cancellationToken již byla odstraněna.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
- TResult
Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
- TResult
Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
- TResult
Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
- TResult
Typ výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.
- scheduler
- TaskScheduler
Slouží TaskScheduler k naplánování vytvořené pokračování Task<TResult>.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Matice tasks je null.
nebo
continuationFunction je null.
nebo
scheduler je null.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poskytnutá služba CancellationToken již byla uvolněna.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
Návraty
Nové pokračování Task.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
Návraty
Nové pokračování Task.
Výjimky
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.
Návraty
Nové pokračování Task.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku antecedentu tasks.
Parametry
- tasks
- Task<TAntecedentResult>[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Delegát akce, který se má provést, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task.
- scheduler
- TaskScheduler
Slouží TaskScheduler k naplánování vytvořené pokračování Task<TResult>.
Návraty
Nové pokračování Task.
Výjimky
Matice tasks je null.
nebo
continuationAction je null.
nebo
paramref name="scheduler" /> is null.
continuationOptions určuje neplatnou TaskContinuationOptions hodnotu.
Poskytnutá služba CancellationToken již byla uvolněna.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Jeden z prvků v tasks poli byl uvolněn.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy
Platí pro
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
- Zdroj:
- TaskFactory.cs
Vytvoří pokračování Task<TResult> , které se spustí po dokončení libovolného úkolu v zadané sadě.
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 výsledku vráceného delegátem continuationFunction a přidružený k vytvořenému Task<TResult>.
Parametry
- tasks
- Task[]
Pole úkolů, ze kterých chcete pokračovat po dokončení jednoho úkolu.
Funkce deleguje provádění asynchronně, když se dokončí jeden úkol v tasks poli.
- cancellationToken
- CancellationToken
Ta CancellationToken bude přiřazena k novému úkolu pokračování.
- continuationOptions
- TaskContinuationOptions
Hodnota TaskContinuationOptions , která řídí chování vytvořené pokračování Task<TResult>.
- scheduler
- TaskScheduler
Slouží TaskScheduler k naplánování vytvořené pokračování Task<TResult>.
Návraty
Nové pokračování Task<TResult>.
Výjimky
Matice tasks je null.
nebo
continuationFunction je null.
nebo
scheduler je null.
continuationOptions určuje neplatnou hodnotu TaskContinuationOptions.
Poskytnutá služba CancellationToken již byla uvolněna.
Poznámky
NotOn* a OnlyOn* TaskContinuationOptions, které omezení, pro které TaskStatus stavy pokračování bude provedeno, jsou nezákonné s ContinueWhenAny.
Viz také
- Knihovna pro paralelní zpracování úloh (Task Parallel Library)
- řetězení úkolů pomocí pokračujících úkolů
- zrušení úlohy