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

Método WaitHandle.WaitAny (WaitHandle[], TimeSpan)

 

Publicado: octubre de 2016

Espera a que cualquiera de los elementos de la matriz especificada reciba una señal, usando un TimeSpan para especificar el intervalo de tiempo.

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

public static int WaitAny(
	WaitHandle[] waitHandles,
	TimeSpan timeout
)

Parámetros

waitHandles
Type: System.Threading.WaitHandle[]

Matriz WaitHandle que contiene los objetos por los que la instancia actual esperará.

timeout
Type: System.TimeSpan

Estructura TimeSpan que representa el número de milisegundos de espera o estructura TimeSpan que representa -1 milisegundos para esperar indefinidamente.

Valor devuelto

Type: System.Int32

Índice de matriz del objeto que satisfizo la espera o WaitTimeout si ningún objeto satisfizo la espera y transcurrió un intervalo de tiempo equivalente a timeout.

Exception Condition
ArgumentNullException

El parámetro waitHandles es null.

-o-

Uno o varios de los objetos de la waitHandles matriz es null.

NotSupportedException

El número de objetos de waitHandles es mayor que permite el sistema.

ArgumentOutOfRangeException

timeout es un número negativo distinto de-1 milisegundos, que representa un tiempo de espera infinito.

-o-

timeout es mayor que Int32.MaxValue.

AbandonedMutexException

La espera se completó porque un subproceso sale sin liberar una exclusión mutua. Esta excepción no se produce en Windows 98 o Windows Millennium Edition.

ArgumentException

waitHandles es una matriz sin elementos.

InvalidOperationException

El waitHandles matriz contiene un proxy transparente para un WaitHandle en otro dominio de aplicación.

Si timeout es cero, el método no se bloquea. Comprueba el estado de los identificadores de espera y vuelve inmediatamente.

El WaitAny método produce un AbandonedMutexException sólo cuando la espera finaliza por una exclusión mutua abandonada. Si waitHandles contiene una exclusión mutua liberada con un número inferior de índice de la exclusión mutua abandonada, el WaitAny método se completa con normalidad y no se produce la excepción.

Este método devuelve cuando finaliza la espera, cuando cualquiera de los identificadores está señalado o cuando se produce un tiempo de espera. Si durante la llamada se señala más de un objeto, el valor devuelto es el índice de matriz del objeto señalado con el menor valor de índice de todos los objetos señalados. En algunas implementaciones, si se pasan 64 identificadores, más de un NotSupportedException se produce.

El valor máximo de timeout es Int32.MaxValue.

Llamar a esta sobrecarga del método es igual que llamar a la WaitAny(WaitHandle[], TimeSpan, Boolean) sobrecarga y la especificación de false para exitContext.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: