System.Threading.Barrier
namespace System.Threading
{
public class Barrier : IDisposable
{
public long CurrentPhaseNumber { get; }
public int ParticipantCount { get; }
public int ParticipantsRemaining { get; }
public Barrier(int participantCount);
public Barrier(int participantCount, Action<Barrier> postPhaseAction);
public long AddParticipant();
public long AddParticipants(int participantCount);
public void Dispose();
protected virtual void Dispose(bool disposing);
public void RemoveParticipant();
public void RemoveParticipants(int participantCount);
public void SignalAndWait();
public bool SignalAndWait(int millisecondsTimeout);
public bool SignalAndWait(int millisecondsTimeout, CancellationToken cancellationToken);
public void SignalAndWait(CancellationToken cancellationToken);
public bool SignalAndWait(TimeSpan timeout);
public bool SignalAndWait(TimeSpan timeout, CancellationToken cancellationToken);
}
}