WaitOne Method (TimeSpan)

WaitHandle.WaitOne Method (TimeSpan)


Blocks the current thread until the current instance receives a signal, using a TimeSpan to specify the time interval.

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

public virtual bool WaitOne(
	TimeSpan 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 if the current instance receives a signal; otherwise, false.

Exception Condition

The current instance has already been disposed.


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


timeout is greater than Int32.MaxValue.


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


The current instance is 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 handle and returns immediately.

The caller of this method blocks until the current instance receives a signal or a time-out occurs. Use this method to block until a WaitHandle receives a signal from another thread, such as is generated when an asynchronous operation completes. For more information, see the IAsyncResult interface.

Override this method to customize the behavior of derived classes.

The maximum value for timeout is Int32.MaxValue.

Calling this method overload is the same as calling the WaitOne(TimeSpan, Boolean) overload and specifying false for exitContext.

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft