Attempt:
public interface ISemaphore { void Aquire(); void Release(); } public class SpinlockSemaphore : ISemaphore { private int _cur; priv