TaskFactory.ContinueWhenAny Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
Overload
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Taskyang dibuat .
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Taskyang dibuat .
- scheduler
- TaskScheduler
TaskScheduler yang digunakan untuk menjadwalkan kelanjutan Taskyang dibuat .
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Array tasks adalah null.
-atau-
continuationAction adalah null.
-atau-
scheduler adalah null.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Yang disediakan CancellationToken telah dibuang.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny(Task[], Action<Task>)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
Contoh
Contoh berikut menunjukkan cara menggunakan ContinueWhenAny dan 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
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
-atau-
cancellationToken telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Task<TResult>yang dibuat .
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
-atau-
Yang disediakan CancellationToken telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Task<TResult>yang dibuat .
- scheduler
- TaskScheduler
TaskScheduler yang digunakan untuk menjadwalkan kelanjutan Task<TResult>yang dibuat .
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Array tasks adalah null.
-atau-
continuationFunction adalah null.
-atau-
scheduler adalah null.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Yang disediakan CancellationToken telah dibuang.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
-atau-
Yang disediakan CancellationToken telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Taskyang dibuat .
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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
Jenis parameter
- TAntecedentResult
Jenis hasil dari antecedent tasks.
Parameter
- tasks
- Task<TAntecedentResult>[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Delegasi tindakan untuk dijalankan ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Taskyang dibuat .
- scheduler
- TaskScheduler
TaskScheduler yang digunakan untuk menjadwalkan kelanjutan Task<TResult>yang dibuat .
Mengembalikan
Kelanjutan Taskbaru .
Pengecualian
Array tasks adalah null.
-atau-
continuationAction adalah null.
-atau-
paramref name="scheduler" /> adalah null.
continuationOptions menentukan nilai yang tidak valid TaskContinuationOptions .
Yang disediakan CancellationToken telah dibuang.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
-atau-
Yang disediakan CancellationToken telah dibuang.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Task<TResult>yang dibuat .
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Salah satu elemen dalam tasks array telah dibuang.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas
Berlaku untuk
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
- Sumber:
- TaskFactory.cs
Membuat kelanjutan Task<TResult> yang akan dimulai setelah menyelesaikan Tugas apa pun dalam set yang disediakan.
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)
Jenis parameter
- TResult
Jenis hasil yang dikembalikan oleh continuationFunction delegasi dan terkait dengan yang dibuat Task<TResult>.
Parameter
- tasks
- Task[]
Array tugas yang akan dilanjutkan ketika satu tugas selesai.
Fungsi mendelegasikan untuk menjalankan secara asinkron ketika satu tugas dalam tasks array selesai.
- cancellationToken
- CancellationToken
CancellationToken yang akan ditetapkan ke tugas kelanjutan baru.
- continuationOptions
- TaskContinuationOptions
Nilai TaskContinuationOptions yang mengontrol perilaku kelanjutan Task<TResult>yang dibuat .
- scheduler
- TaskScheduler
TaskScheduler yang digunakan untuk menjadwalkan kelanjutan Task<TResult>yang dibuat .
Mengembalikan
Kelanjutan Task<TResult>baru .
Pengecualian
Array tasks adalah null.
-atau-
continuationFunction adalah null.
-atau-
scheduler adalah null.
continuationOptions menentukan nilai TaskContinuationOptions yang tidak valid.
Yang disediakan CancellationToken telah dibuang.
Keterangan
NotOn* dan OnlyOn* TaskContinuationOptions, yang membatasi yang TaskStatus menyatakan kelanjutan akan dijalankan, ilegal dengan ContinueWhenAny.
Lihat juga
- Pustaka Paralelisasi Tugas (TPL)
- Merangkai Tugas dengan Menggunakan Tugas Kelanjutan
- Pembatalan Tugas