TaskFactory.ContinueWhenAny Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
Aşırı Yüklemeler
ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Taskdavranışını denetleen değer.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Taskdavranışını denetleen değer.
- scheduler
- TaskScheduler
TaskScheduler oluşturulan devamlılığı Taskzamanlamak için kullanılan .
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizisi tasks
şeklindedir null
.
-veya-
continuationAction
, null
değeridir.
-veya-
scheduler
, null
değeridir.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Sağlananlar CancellationToken zaten atılmış.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny(Task[], Action<Task>)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
Dizisi tasks
şeklindedir null
.
-veya-
bağımsız continuationAction
değişkenidir null
.
Örnekler
Aşağıdaki örnekte ve ContinueWhenAll
'nin nasıl kullanılacağı ContinueWhenAny
gösterilmektedir:
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
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny(Task[], Action<Task>, CancellationToken)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
-veya-
cancellationToken
zaten atılmıştır.
Dizisi tasks
şeklindedir null
.
-veya-
bağımsız continuationAction
değişkenidir null
.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Task<TResult>davranışını denetleen değer.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
-veya- Sağlanan CancellationToken zaten atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Task<TResult>davranışını denetleen değer.
- scheduler
- TaskScheduler
oluşturulan TaskScheduler devamlılığı Task<TResult>zamanlamak için kullanılan .
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizisi tasks
şeklindedir null
.
-veya-
continuationFunction
, null
değeridir.
-veya-
scheduler
, null
değeridir.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Sağlanan CancellationToken zaten atılmış.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
-veya- Sağlananlar CancellationToken zaten atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Taskdavranışını denetleen değer.
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task oluşturur.
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
Tür Parametreleri
- TAntecedentResult
Öncül sonucunun tasks
türü.
Parametreler
- tasks
- Task<TAntecedentResult>[]
Bir görev tamamlandığında devam etmesi gereken görev dizisi.
Dizideki tasks
bir görev tamamlandığında yürütülecek eylem temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Taskdavranışını denetleen değer.
- scheduler
- TaskScheduler
TaskScheduler oluşturulan devamlılığı Task<TResult>zamanlamak için kullanılan .
Döndürülenler
Yeni devamlılık Task.
Özel durumlar
Dizisi tasks
şeklindedir null
.
-veya-
continuationAction
, null
değeridir.
-veya-
paramref name="scheduler" /> is null
.
continuationOptions
geçersiz TaskContinuationOptions bir değer belirtir.
Sağlananlar CancellationToken zaten atılmış.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
-veya- Sağlanan CancellationToken zaten atılmış.
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Task<TResult>davranışını denetleen değer.
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizideki tasks
öğelerden biri atılmış.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali
Şunlara uygulanır
ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)
Sağlanan kümedeki herhangi bir Görev tamamlandıktan sonra başlatılacak bir devamlılık Task<TResult> oluşturur.
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)
Tür Parametreleri
- TResult
Temsilci tarafından continuationFunction
döndürülen ve oluşturulan Task<TResult>ile ilişkili sonucun türü.
Parametreler
- tasks
- Task[]
Bir görev tamamlandığında devam etmek istediğiniz görev dizisi.
Dizideki tasks
bir görev tamamlandığında zaman uyumsuz olarak yürütülecek işlev temsilcisi.
- cancellationToken
- CancellationToken
Yeni CancellationToken devamlılık görevine atanacak olan.
- continuationOptions
- TaskContinuationOptions
TaskContinuationOptions Oluşturulan devamlılık Task<TResult>davranışını denetleen değer.
- scheduler
- TaskScheduler
oluşturulan TaskScheduler devamlılığı Task<TResult>zamanlamak için kullanılan .
Döndürülenler
Yeni devamlılık Task<TResult>.
Özel durumlar
Dizisi tasks
şeklindedir null
.
-veya-
continuationFunction
, null
değeridir.
-veya-
scheduler
, null
değeridir.
continuationOptions
geçersiz bir TaskContinuationOptions değeri belirtir.
Sağlanan CancellationToken zaten atılmış.
Açıklamalar
Bir devamlılık yürütülecek durumları kısıtlayan NotOn* ve OnlyOn* TaskContinuationOptionsile geçersizdirContinueWhenAny
.TaskStatus
Ayrıca bkz.
- Görev Paralel Kitaplığı (TPL)
- Devamlılık Görevlerini Kullanarak Görevleri Birbirine Bağlama
- Görev iptali