<PackageReference Include="NETStandard.Library" Version="2.0.0-preview2-25401-01" />

System.Threading.Semaphore

public sealed class Semaphore : WaitHandle
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); } }