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.
Namespace: System.Threading
Assembly: System (in System.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.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.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.