SemaphoreSlim::Wait Method (Int32, CancellationToken)
Blocks the current thread until it can enter the SemaphoreSlim, using a 32-bit signed integer that specifies the timeout, while observing a CancellationToken.
Assembly: mscorlib (in mscorlib.dll)
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::Booleantrue 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.
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