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
WaitAny(Task[], TimeSpan) |
Sağlanan Task nesnelerden herhangi birinin belirli bir zaman aralığı içinde yürütmeyi tamamlamasını 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ütmeyi tamamlamasını bekler. |
WaitAny(Task[], CancellationToken) |
Bekleme iptal edilmediği sürece sağlanan Task nesnelerden herhangi birinin yürütmeyi tamamlamasını 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
Sağlanan Task nesnelerden herhangi birinin belirli bir zaman aralığı içinde yürütmeyi tamamlamasını 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 Beklenen milisaniye sayısını temsil eden veya süresiz olarak bekleyebilecek -1 milisaniyeyi temsil eden birTimeSpan.
Döndürülenler
Dizi bağımsız değişkenindeki tasks
tamamlanmış görevin dizini veya zaman aşımı oluştuysa -1.
Özel durumlar
Task atılmış.
tasks
bağımsız değişkenidirnull
.
TotalMilliseconds Bağımsız değişkenin 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.
tasks
bağımsız değişkeni null bir öğe içeriyor.
Şunlara uygulanır
WaitAny(Task[], Int32, CancellationToken)
- 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
- 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 veya zaman aşımı oluştuysa -1.
Özel durumlar
Task atılmış.
tasks
bağımsız değişkenidirnull
.
millisecondsTimeout
, -1 dışında sonsuz bir zaman aşımını temsil eden negatif bir sayıdır.
tasks
bağımsız değişkeni null bir öğe içeriyor.
İptal cancellationToken
edildi.
Şunlara uygulanır
WaitAny(Task[], Int32)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Sağlanan Task nesnelerden herhangi birinin belirtilen sayıda milisaniye içinde yürütmeyi tamamlamasını 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
Döndürülenler
Dizi bağımsız değişkenindeki tasks
tamamlanmış görevin dizini veya zaman aşımı oluştuysa -1.
Özel durumlar
Task atılmış.
tasks
bağımsız değişkenidirnull
.
millisecondsTimeout
, -1 dışında sonsuz bir zaman aşımını temsil eden negatif bir sayıdır.
tasks
bağımsız değişkeni null bir öğe içeriyor.
Şunlara uygulanır
WaitAny(Task[], CancellationToken)
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
- Kaynak:
- Task.cs
Bekleme iptal edilmediği sürece sağlanan Task nesnelerden herhangi birinin yürütmeyi tamamlamasını 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
.
tasks
bağımsız değişkeni null bir öğe içeriyor.
İptal cancellationToken
edildi.
Şunlara uygulanır
WaitAny(Task[])
- 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
.
tasks
bağımsız değişkeni null bir öğe içeriyor.
Örnekler
Aşağıdaki örnek, her biri en az 50 milisaniye veya en fazla 1.050 milisaniye uykuda olan beş görevi başlatır. Yöntemi WaitAny daha sonra görevlerin tamamlanmasını bekler. Örnekte, beklemeyi sonlandıran 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