Task.WaitAny 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 Task nesnelerden herhangi birinin yürütülmesini bekler.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| WaitAny(Task[], TimeSpan) |
Belirtilen zaman aralığı içinde sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler. |
| WaitAny(Task[], Int32, CancellationToken) |
Belirtilen sayıda milisaniye içinde veya iptal belirteci iptal edilene kadar sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler. |
| WaitAny(Task[], Int32) |
Sağlanan Task nesnelerden herhangi birinin belirtilen sayıda milisaniye içinde yürütülmesini bekler. |
| WaitAny(Task[], CancellationToken) |
Bekleme iptal edilmediği sürece sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler. |
| WaitAny(Task[]) |
Sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler. |
WaitAny(Task[], TimeSpan)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Belirtilen zaman aralığı içinde sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler.
public:
static int WaitAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, TimeSpan timeout);
public static int WaitAny(System.Threading.Tasks.Task[] tasks, TimeSpan timeout);
static member WaitAny : System.Threading.Tasks.Task[] * TimeSpan -> int
Public Shared Function WaitAny (tasks As Task(), timeout As TimeSpan) As Integer
Parametreler
- timeout
- TimeSpan
TimeSpan Bekleyebilecek milisaniye sayısını temsil eden veya süresiz olarak bekleyebilecek -1 milisaniyeyi temsil eden birTimeSpan.
Döndürülenler
Tamamlanan görevin dizinini dizi bağımsız değişkeninde tasks veya zaman aşımının oluşup oluşmadiğini -1.
Özel durumlar
Task atılmış.
tasks bağımsız değişkenidirnull.
TotalMilliseconds Bağımsız değişkeninin timeout özelliği, sonsuz zaman aşımını temsil eden -1 dışında bir negatif sayıdır.
-veya-
TotalMilliseconds Bağımsız değişkeninin timeout özelliği Int32.MaxValue değerinden büyüktür.
bağımsız tasks değişkeni null öğe içeriyor.
Şunlara uygulanır
WaitAny(Task[], Int32, CancellationToken)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Belirtilen sayıda milisaniye içinde veya iptal belirteci iptal edilene kadar sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler.
public:
static int WaitAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public static int WaitAny(System.Threading.Tasks.Task[] tasks, int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
static member WaitAny : System.Threading.Tasks.Task[] * int * System.Threading.CancellationToken -> int
Public Shared Function WaitAny (tasks As Task(), millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Integer
Parametreler
- millisecondsTimeout
- Int32
Beklenen milisaniye sayısı veya Infinite (-1) süresiz olarak beklemek için.
- cancellationToken
- CancellationToken
Görevin CancellationToken tamamlanmasını beklerken gözlemlemek için bir.
Döndürülenler
Tamamlanan görevin dizinini dizi bağımsız değişkeninde tasks veya zaman aşımının oluşup oluşmadiğini -1.
Özel durumlar
Task atılmış.
tasks bağımsız değişkenidirnull.
millisecondsTimeout , -1 dışında bir negatif sayıdır ve bu da sonsuz zaman aşımını temsil eder.
bağımsız tasks değişkeni null öğe içeriyor.
İptal edildi cancellationToken.
Şunlara uygulanır
WaitAny(Task[], Int32)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Sağlanan Task nesnelerden herhangi birinin belirtilen sayıda milisaniye içinde yürütülmesini bekler.
public:
static int WaitAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, int millisecondsTimeout);
public static int WaitAny(System.Threading.Tasks.Task[] tasks, int millisecondsTimeout);
static member WaitAny : System.Threading.Tasks.Task[] * int -> int
Public Shared Function WaitAny (tasks As Task(), millisecondsTimeout As Integer) As Integer
Parametreler
- millisecondsTimeout
- Int32
Beklenen milisaniye sayısı veya Infinite (-1) süresiz olarak beklemek için.
Döndürülenler
Tamamlanan görevin dizinini dizi bağımsız değişkeninde tasks veya zaman aşımının oluşup oluşmadiğini -1.
Özel durumlar
Task atılmış.
tasks bağımsız değişkenidirnull.
millisecondsTimeout , -1 dışında bir negatif sayıdır ve bu da sonsuz zaman aşımını temsil eder.
bağımsız tasks değişkeni null öğe içeriyor.
Şunlara uygulanır
WaitAny(Task[], CancellationToken)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Bekleme iptal edilmediği sürece sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler.
public:
static int WaitAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, System::Threading::CancellationToken cancellationToken);
public static int WaitAny(System.Threading.Tasks.Task[] tasks, System.Threading.CancellationToken cancellationToken);
static member WaitAny : System.Threading.Tasks.Task[] * System.Threading.CancellationToken -> int
Public Shared Function WaitAny (tasks As Task(), cancellationToken As CancellationToken) As Integer
Parametreler
- cancellationToken
- CancellationToken
Görevin CancellationToken tamamlanmasını beklerken gözlemlemek için bir.
Döndürülenler
Dizi bağımsız değişkenindeki tasks tamamlanmış görevin dizini.
Özel durumlar
Task atılmış.
tasks bağımsız değişkenidirnull.
bağımsız tasks değişkeni null öğe içeriyor.
İptal edildi cancellationToken.
Şunlara uygulanır
WaitAny(Task[])
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Sağlanan Task nesnelerden herhangi birinin yürütülmesini bekler.
public:
static int WaitAny(... cli::array <System::Threading::Tasks::Task ^> ^ tasks);
public static int WaitAny(params System.Threading.Tasks.Task[] tasks);
static member WaitAny : System.Threading.Tasks.Task[] -> int
Public Shared Function WaitAny (ParamArray tasks As Task()) As Integer
Parametreler
Döndürülenler
Dizideki tamamlanmış Task nesnenin tasks dizini.
Özel durumlar
Task atılmış.
tasks bağımsız değişkenidirnull.
bağımsız tasks değişkeni null öğe içeriyor.
Örnekler
Aşağıdaki örnek, her biri en az 50 milisaniye veya en fazla 1.050 milisaniye boyunca uyuyan beş görev başlatır. Yöntemi WaitAny daha sonra görevlerin tamamlanmasını bekler. Örnekte, beklemeyi sona erdiren görevin görev kimliği ve tüm görevlerin geçerli durumu görüntülenir.
using System;
using System.Threading;
using System.Threading.Tasks;
public class Example
{
public static void Main()
{
Task[] tasks = new Task[5];
for (int ctr = 0; ctr <= 4; ctr++) {
int factor = ctr;
tasks[ctr] = Task.Run(() => Thread.Sleep(factor * 250 + 50));
}
int index = Task.WaitAny(tasks);
Console.WriteLine("Wait ended because task #{0} completed.",
tasks[index].Id);
Console.WriteLine("\nCurrent Status of Tasks:");
foreach (var t in tasks)
Console.WriteLine(" Task {0}: {1}", t.Id, t.Status);
}
}
// The example displays output like the following:
// Wait ended because task #1 completed.
//
// Current Status of Tasks:
// Task 1: RanToCompletion
// Task 2: Running
// Task 3: Running
// Task 4: Running
// Task 5: Running
open System.Threading
open System.Threading.Tasks
let tasks =
[| for factor = 0 to 4 do
Task.Run(fun () -> Thread.Sleep(factor * 250 + 50)) |]
let index = Task.WaitAny tasks
printfn $"Wait ended because task #{tasks[index].Id} completed."
printfn "\nCurrent Status of Tasks:"
for t in tasks do
printfn $" Task {t.Id}: {t.Status}"
// The example displays output like the following:
// Wait ended because task #1 completed.
//
// Current Status of Tasks:
// Task 1: RanToCompletion
// Task 2: Running
// Task 3: Running
// Task 4: Running
// Task 5: Running
Imports System.Threading
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim tasks(4) As Task
For ctr As Integer = 0 To 4
Dim factor As Integer = ctr
tasks(ctr) = Task.Run(Sub() Thread.Sleep(factor * 250 + 50))
Next
Dim index As Integer = Task.WaitAny(tasks)
Console.WriteLine("Wait ended because task #{0} completed.",
tasks(index).Id)
Console.WriteLine()
Console.WriteLine("Current Status of Tasks:")
For Each t In tasks
Console.WriteLine(" Task {0}: {1}", t.Id, t.Status)
Next
End Sub
End Module
' The example displays output like the following:
' Wait ended because task #1 completed.
'
' Current Status of Tasks:
' Task 1: RanToCompletion
' Task 2: Running
' Task 3: Running
' Task 4: Running
' Task 5: Running