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)

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.Boolean
if all participants reached the barrier within the specified time; otherwise false

ExceptionCondition
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.

.NET Framework

Supported in: 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, 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.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft