SemaphoreSlim.Wait Method (Int32, CancellationToken)

.NET Framework (current version)
 

Blocks the current thread until it can enter the SemaphoreSlim, using a 32-bit signed integer that specifies the timeout, while observing a CancellationToken.

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

public bool Wait(
	int millisecondsTimeout,
	CancellationToken cancellationToken
)

Parameters

millisecondsTimeout
Type: System.Int32

The number of milliseconds to wait, or Infinite(-1) 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.

Exception Condition
OperationCanceledException

cancellationToken was canceled.

ArgumentOutOfRangeException

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

ObjectDisposedException

The SemaphoreSlim instance has been disposed, or the CancellationTokenSource that created cancellationToken has 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(Int32, CancellationToken) and the time-out interval specified by millisecondsTimeout 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.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top
Show: