Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed integer to specify the time interval.
- waitHandles
- A WaitHandle array containing the objects for which the current instance will wait.
- millisecondsTimeout
- The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.
The array index of the object that satisfied the wait, or WaitHandle.WaitTimeout if no object satisfied the wait and a time interval equivalent to millisecondsTimeout has passed.
If millisecondsTimeout is zero, the method does not block. It tests the state of the wait handles and returns immediately.
The erload:System.Threading.WaitHandle.WaitAny method throws an System.Threading.AbandonedMutexException only when the wait completes because of an abandoned mutex. If waitHandles contains a released mutex with a lower index number than the abandoned mutex, the erload:System.Threading.WaitHandle.WaitAny method completes normally and the exception is not thrown.
This method returns when the wait terminates, either when any of the handles are signaled or when a timeout occurs. If more than one object becomes signaled during the call, the return value is the array index of the signaled object with the smallest index value of all the signaled objects. On some implementations, if more that 64 handles are passed, a NotSupportedException is thrown.
Calling this method overload is the same as calling the WaitHandle.WaitAny(WaitHandle[], int, bool) overload and specifying false for exitContext.