System.Threading.Semaphore
namespace System.Threading
{
public sealed class Semaphore : WaitHandle
{
public Semaphore(int initialCount, int maximumCount);
public Semaphore(int initialCount, int maximumCount, string name);
public Semaphore(int initialCount, int maximumCount, string name, out bool createdNew);
public static Semaphore OpenExisting(string name);
public int Release();
public int Release(int releaseCount);
public static bool TryOpenExisting(string name, out Semaphore result);
}
}