Barrier::SignalAndWait Method (Int32, CancellationToken)
Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a 32-bit signed integer to measure the timeout, while observing a cancellation token.
Assembly: System (in System.dll)
public: bool SignalAndWait( 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::Booleanif all participants reached the barrier within the specified time; otherwise false
| Exception | Condition |
|---|---|
| OperationCanceledException | cancellationToken has been canceled. |
| ObjectDisposedException | The current instance has already been disposed. |
| ArgumentOutOfRangeException | millisecondsTimeout is a negative number other than -1, which represents an infinite time-out. |
| InvalidOperationException | The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. |
If the cancellationToken was canceled before the signal took effect, then an OperationCanceledException is thrown and the ParticipantsRemaining value is not decreased. If the cancellationToken is not canceled or is canceled after the signal takes effect then ParticipantsRemaining is decreased and no OperationCanceledException is thrown.
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