Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Task.WaitAny (Task[])

 

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

Spazio dei nomi:   System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

public static int WaitAny(
	params Task[] tasks
)

Parametri

tasks
Type: System.Threading.Tasks.Task[]

Matrice delle istanze di Task per cui attendere.

Valore restituito

Type: System.Int32

Indice dell'oggetto Task completato nella matrice di tasks.

Exception Condition
ObjectDisposedException

L'interfaccia Task è stata eliminata.

ArgumentNullException

Il valore dell'argomento tasks è null.

ArgumentException

L'argomento tasks contiene un elemento null.

Nell'esempio seguente avvia cinque attività, ognuna delle quali rimane inattivo per un massimo di 1.050 millisecondi o di un minimo di 50 millisecondi. Il WaitAny metodo quindi attende che uno di attività da completare. Nell'esempio viene visualizzato l'ID attività dell'attività che è terminata 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

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 5.0
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: