Export (0) Print
Expand All

SemaphoreSlim.Wait Method (TimeSpan, CancellationToken)

.NET Framework 4.6 and 4.5

Blocks the current thread until it can enter the SemaphoreSlim, using a TimeSpan that specifies the timeout, while observing a CancellationToken.

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

public bool Wait(
	TimeSpan timeout,
	CancellationToken cancellationToken
)

Parameters

timeout
Type: System.TimeSpan

A TimeSpan that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.

cancellationToken
Type: System.Threading.CancellationToken

The CancellationToken to observe.

Return Value

Type: System.Boolean
true if the current thread successfully entered the SemaphoreSlim; otherwise, false.

ExceptionCondition
OperationCanceledException

cancellationToken was canceled.

ArgumentOutOfRangeException

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

ObjectDisposedException

The semaphoreSlim instance has been disposed.

-or-

The CancellationTokenSource that created cancellationToken has already been disposed.

If a thread or task is able to enter the semaphore, it decrements the CurrentCount property by one.

If cancellationToken is cancelled, or if a thread or task is blocked when calling Wait(TimeSpan, CancellationToken) and the timeout interval specified by timeout expires, the thread or task doesn’t enter the semaphore, and the CurrentCount property isn’t decremented. If cancellationToken is cancelled, the method throws an OperationCanceledException exception.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft