System 4.0.0.0 System.Object System.IDisposable System.Diagnostics.DebuggerDisplay("Participant Count={ParticipantCount},Participants Remaining={ParticipantsRemaining}")

A group of tasks cooperate by moving through a series of phases, where each in the group signals it has arrived at the in a given phase and implicitly waits for all others to arrive. The same can be used for multiple phases.

Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

- Constructor
  4.0.0.0
  To be added.

  Initializes a new instance of the class.

  The number of participating threads.
- Constructor
  4.0.0.0

  The delegate will be executed after all participants have arrived at the barrier in one phase. The participants will not be released to the next phase until the postPhaseAction delegate has completed execution.

  Initializes a new instance of the class.

  The number of participating threads.
  The to be executed after each phase. null (Nothing in Visual Basic) may be passed to indicate no action is taken.
- Method
  4.0.0.0
  System.Int64

  If the barrier is currently executing a post phase action, this call is blocked until the post phase action completes and the barrier has moved on to the next phase.

  Notifies the that there will be an additional participant.

  The phase number of the barrier in which the new participants will first participate.

- Method
  4.0.0.0
  System.Int64 ``

  If the barrier is currently executing a post phase action, this call is blocked until the post phase action completes and the barrier has moved on to the next phase.

  Notifies the that there will be additional participants.

  The phase number of the barrier in which the new participants will first participate.

  The number of additional participants to add to the barrier.
- Property
  4.0.0.0
  System.Int64 To be added. To be added.

  Gets the number of the barrier's current phase.

- Method
  4.0.0.0
  System.Void

  Call Dispose when you are finished using the . The Dispose method leaves the in an unusable state. After calling Dispose, you must release all references to the so the garbage collector can reclaim the memory that the was occupying.

  For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.

  Always call Dispose before you release your last reference to the . Otherwise, the resources it is using will not be freed until the garbage collector calls the object's Finalize method.

  Releases all resources used by the current instance of the class.

- Method
  4.0.0.0
  System.Void ``

  Unlike most of the members of , Dispose is not thread-safe and may not be used concurrently with other members of this instance.

  Releases the unmanaged resources used by the , and optionally releases the managed resources.

  true to release both managed and unmanaged resources; false to release only unmanaged resources.
- Property
  4.0.0.0
  System.Int32 To be added. To be added.

  Gets the total number of participants in the barrier.

- Property
  4.0.0.0
  System.MonoTODO
  System.Int32 To be added.

  This could be 0 during a post-phase action delegate execution or if the ParticipantCount is 0.

  Gets the number of participants in the barrier that haven’t yet signaled in the current phase.

- Method
  4.0.0.0
  System.Void To be added.

  Notifies the that there will be one less participant.

- Method
  4.0.0.0
  System.Void ``

  If participants are already waiting on the barrier, this removal fulfills the barrier, the post phase action is executed and all of the participants are woken as if this participant being removed had successfully reached the barrier.

  Notifies the that there will be fewer participants.

  The number of additional participants to remove from the barrier.
- Method
  4.0.0.0
  System.Void To be added.

  Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well.

- Method
  4.0.0.0
  System.Boolean `` To be added.

  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.

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

  The number of milliseconds to wait, or (-1) to wait indefinitely.
- Method
  4.0.0.0
  System.Void `` To be added.

  Signals that a participant has reached the barrier and waits for all other participants to reach the barrier, while observing a cancellation token.

  The to observe.
- Method
  4.0.0.0
  System.Boolean `` To be added.

  Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a object to measure the time interval.

  true if all other participants reached the barrier; otherwise, false.

  A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely.
- Method
  4.0.0.0
  System.Boolean `` ``

  If the was canceled before the signal took effect, then an is thrown and the value is not decreased. If the is not canceled or is canceled after the signal takes effect then is decreased and no is thrown.

  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.

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

  The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe.
- Method
  4.0.0.0
  System.Boolean `` `` To be added.

  Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a object to measure the time interval, while observing a cancellation token.

  true if all other participants reached the barrier; otherwise, false.

  A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The to observe.