Export (0) Print
Expand All

WaitHandle::WaitAll Method (array<WaitHandle>, TimeSpan)

Updated: July 2008

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

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

public:
static bool WaitAll(
	array<WaitHandle^>^ waitHandles, 
	TimeSpan timeout
)

Parameters

waitHandles
Type: array<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.

timeout
Type: System::TimeSpan

A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds, 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 nullptr.

-or-

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

-or-

waitHandles is an array with no elements.

DuplicateWaitObjectException

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

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

-or-

timeout is greater than Int32::MaxValue.

AbandonedMutexException

The wait terminated 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 timeout 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 all the handles are signaled or a time-out occurs. On some implementations, if more than 64 handles are passed, a NotSupportedException is thrown. If the array contains duplicates, the call will fail.

NoteNote:

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

The maximum value for timeout is Int32::MaxValue.

Calling this method overload is the same as calling the WaitAll(array<WaitHandle>, TimeSpan, Boolean) overload and specifying false for exitContext.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5 SP1, 3.0 SP2, 2.0 SP2

Date

History

Reason

July 2008

Added topic for new overload.

.NET Framework 3.5 SP1 feature change.

Community Additions

ADD
Show:
© 2014 Microsoft