Barrier.SignalAndWait Method (Int32, CancellationToken)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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)

public bool SignalAndWait(
	int millisecondsTimeout,
	CancellationToken cancellationToken


Type: System.Int32

The number of milliseconds to wait, or Infinite(-1) to wait indefinitely.

Type: System.Threading.CancellationToken

The CancellationToken to observe.

Return Value

Type: System.Boolean

if all participants reached the barrier within the specified time; otherwise false

Exception Condition

cancellationToken has been canceled.


The current instance has already been disposed.


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


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.

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