Barrier Class
Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.
Assembly: System (in System.dll)
| Name | Description | |
|---|---|---|
![]() | Barrier(Int32) | Initializes a new instance of the Barrier class. |
![]() | Barrier(Int32, Action<Barrier^>^) | Initializes a new instance of the Barrier class. |
| Name | Description | |
|---|---|---|
![]() | CurrentPhaseNumber | Gets the number of the barrier's current phase. |
![]() | ParticipantCount | Gets the total number of participants in the barrier. |
![]() | ParticipantsRemaining | Gets the number of participants in the barrier that haven’t yet signaled in the current phase. |
| Name | Description | |
|---|---|---|
![]() | AddParticipant() | Notifies the Barrier that there will be an additional participant. |
![]() | AddParticipants(Int32) | Notifies the Barrier that there will be additional participants. |
![]() | Dispose() | Releases all resources used by the current instance of the Barrier class. |
![]() | Dispose(Boolean) | Releases the unmanaged resources used by the Barrier, and optionally releases the managed resources. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | RemoveParticipant() | Notifies the Barrier that there will be one less participant. |
![]() | RemoveParticipants(Int32) | Notifies the Barrier that there will be fewer participants. |
![]() | SignalAndWait() | Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well. |
![]() | SignalAndWait(CancellationToken) | Signals that a participant has reached the barrier and waits for all other participants to reach the barrier, while observing a cancellation token. |
![]() | SignalAndWait(Int32) | 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. |
![]() | SignalAndWait(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. |
![]() | SignalAndWait(TimeSpan) | Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a TimeSpan object to measure the time interval. |
![]() | SignalAndWait(TimeSpan, CancellationToken) | Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a TimeSpan object to measure the time interval, while observing a cancellation token. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
A group of tasks cooperate by moving through a series of phases, where each in the group signals it has arrived at the Barrier in a given phase and implicitly waits for all others to arrive. The same Barrier can be used for multiple phases.
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
All public and protected members of Barrier are thread-safe and may be used concurrently from multiple threads, with the exception of Dispose, which must only be used when all other operations on the Barrier have completed.


