Task.WaitAny Metodo

Definizione

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti.

Overload

WaitAny(Task[], TimeSpan)

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un intervallo di tempo specificato.

WaitAny(Task[], Int32, CancellationToken)

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un numero specificato di millisecondi o finché un token di annullamento non viene annullato.

WaitAny(Task[], Int32)

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un numero specificato di millisecondi.

WaitAny(Task[], CancellationToken)

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti a meno che l'attesa non venga annullata.

WaitAny(Task[])

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti.

WaitAny(Task[], TimeSpan)

Origine:
Task.cs
Origine:
Task.cs
Origine:
Task.cs

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un intervallo di tempo specificato.

public static int WaitAny (System.Threading.Tasks.Task[] tasks, TimeSpan timeout);

Parametri

tasks
Task[]

Matrice delle istanze di Task per cui attendere.

timeout
TimeSpan

Oggetto TimeSpan che rappresenta il numero di millisecondi di attesa oppure TimeSpan che rappresenta -1 millisecondi per un'attesa indefinita.

Restituisce

Indice dell'attività completata nell'argomento di matrice di tasks, oppure -1 in caso di timeout.

Eccezioni

L'interfaccia Task è stata eliminata.

Il valore dell'argomento tasks è null.

La proprietà TotalMilliseconds dell'argomento timeout è un numero negativo diverso da -1 che rappresenta un timeout indeterminato.

-oppure-

La TotalMilliseconds proprietà dell'argomento timeout è maggiore di Int32.MaxValue.

L'argomento tasks contiene un elemento null.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAny(Task[], Int32, CancellationToken)

Origine:
Task.cs
Origine:
Task.cs
Origine:
Task.cs

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un numero specificato di millisecondi o finché un token di annullamento non viene annullato.

public static int WaitAny (System.Threading.Tasks.Task[] tasks, int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);

Parametri

tasks
Task[]

Matrice delle istanze di Task per cui attendere.

millisecondsTimeout
Int32

Numero di millisecondi di attesa oppure Infinite (-1) per un'attesa indefinita.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento di un'attività.

Restituisce

Indice dell'attività completata nell'argomento di matrice di tasks, oppure -1 in caso di timeout.

Eccezioni

L'interfaccia Task è stata eliminata.

Il valore dell'argomento tasks è null.

millisecondsTimeout è un numero negativo diverso da -1, che rappresenta un timeout infinito.

L'argomento tasks contiene un elemento null.

Il parametro cancellationToken è stato annullato.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAny(Task[], Int32)

Origine:
Task.cs
Origine:
Task.cs
Origine:
Task.cs

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti entro un numero specificato di millisecondi.

public static int WaitAny (System.Threading.Tasks.Task[] tasks, int millisecondsTimeout);

Parametri

tasks
Task[]

Matrice delle istanze di Task per cui attendere.

millisecondsTimeout
Int32

Numero di millisecondi di attesa oppure Infinite (-1) per un'attesa indefinita.

Restituisce

Indice dell'attività completata nell'argomento di matrice di tasks, oppure -1 in caso di timeout.

Eccezioni

L'interfaccia Task è stata eliminata.

Il valore dell'argomento tasks è null.

millisecondsTimeout è un numero negativo diverso da -1, che rappresenta un timeout infinito.

L'argomento tasks contiene un elemento null.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAny(Task[], CancellationToken)

Origine:
Task.cs
Origine:
Task.cs
Origine:
Task.cs

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti a meno che l'attesa non venga annullata.

public static int WaitAny (System.Threading.Tasks.Task[] tasks, System.Threading.CancellationToken cancellationToken);

Parametri

tasks
Task[]

Matrice delle istanze di Task per cui attendere.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento di un'attività.

Restituisce

Indice dell'attività completata nell'argomento di matrice di tasks.

Eccezioni

L'interfaccia Task è stata eliminata.

Il valore dell'argomento tasks è null.

L'argomento tasks contiene un elemento null.

Il parametro cancellationToken è stato annullato.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAny(Task[])

Origine:
Task.cs
Origine:
Task.cs
Origine:
Task.cs

Attende il completamento dell'esecuzione di uno qualsiasi degli oggetti Task forniti.

public static int WaitAny (params System.Threading.Tasks.Task[] tasks);

Parametri

tasks
Task[]

Matrice delle istanze di Task per cui attendere.

Restituisce

Indice dell'oggetto Task completato nella matrice di tasks.

Eccezioni

L'interfaccia Task è stata eliminata.

Il valore dell'argomento tasks è null.

L'argomento tasks contiene un elemento null.

Esempio

L'esempio seguente avvia cinque attività, ognuna delle quali dorme per un minimo di 50 millisecondi o un massimo di 1.050 millisecondi. Il WaitAny metodo attende quindi il completamento di una delle attività. Nell'esempio viene visualizzato l'ID attività dell'attività che ha terminato l'attesa, nonché lo stato corrente di tutte le attività.

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

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0