WaitAny Método (Task[])
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Task.WaitAny (Método) (Task[])

 

Publicada: julio de 2016

Espera a que se complete la ejecución de cualquiera de los objetos Task proporcionados.

Espacio de nombres:   System.Threading.Tasks
Ensamblado:  mscorlib (en mscorlib.dll)

public static int WaitAny(
	params Task[] tasks
)

Parámetros

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

Matriz de instancias de Task en las que se va a esperar.

Valor devuelto

Type: System.Int32

Índice del objeto Task completado en la matriz tasks.

Exception Condition
ObjectDisposedException

Se ha eliminado Task.

ArgumentNullException

El argumento tasks es null.

ArgumentException

El argumento tasks contiene un elemento null.

En el siguiente ejemplo inicia cinco tareas, cada uno de los cuales se suspende durante un mínimo de 50 milisegundos o un máximo de milisegundos de 1050. El WaitAny método espera a que cualquiera de las tareas para completar. En el ejemplo se muestra el identificador de tarea de la tarea que finalizó la espera, así como el estado actual de todas las tareas.

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
Disponible desde 8
.NET Framework
Disponible desde 4.0
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 5.0
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar:
© 2016 Microsoft