Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

WaitHandle.WaitAll Method (WaitHandle[], Int32)

Waits for all the elements in the specified array to receive a signal, using an Int32 value to specify the time interval.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public static bool WaitAll(
	WaitHandle[] waitHandles,
	int millisecondsTimeout
)

Parameters

waitHandles
Type: System.Threading.WaitHandle[]

A WaitHandle array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates).

millisecondsTimeout
Type: System.Int32

The number of milliseconds to wait, or Timeout.Infinite (-1) to wait indefinitely.

Return Value

Type: System.Boolean
true when every element in waitHandles has received a signal; otherwise, false.

ExceptionCondition
ArgumentNullException

The waitHandles parameter is null.

-or-

One or more of the objects in the waitHandles array is null.

-or-

waitHandles is an array with no elements.

DuplicateWaitObjectException
NoteNote

In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, ArgumentException, instead.

The waitHandles array contains elements that are duplicates.

NotSupportedException

The number of objects in waitHandles is greater than the system permits.

-or-

The STAThreadAttribute attribute is applied to the thread procedure for the current thread, and waitHandles contains more than one element.

ArgumentOutOfRangeException

millisecondsTimeout is a negative number other than -1, which represents an infinite time-out.

AbandonedMutexException

The wait completed because a thread exited without releasing a mutex. This exception is not thrown on Windows 98 or Windows Millennium Edition.

InvalidOperationException

The waitHandles array contains a transparent proxy for a WaitHandle in another application domain.

If millisecondsTimeout is zero, the method does not block. It tests the state of the wait handles and returns immediately.

The WaitAll method returns when the wait terminates, which means either when all the handles are signaled or when time-out occurs. On some implementations, if more than 64 handles are passed, a NotSupportedException is thrown. If there are duplicates in the array, the call fails with a DuplicateWaitObjectException.

NoteNote

The WaitAll method is not supported on threads that have STAThreadAttribute.

Calling this method overload is the same as calling the WaitAll(WaitHandle[], Int32, Boolean) overload and specifying false for exitContext.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5 SP1, 3.0 SP2, 2.0 SP2

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft