System.Threading.SpinLock
namespace System.Threading
{
public struct SpinLock
{
public bool IsHeld { get; }
public bool IsHeldByCurrentThread { get; }
public bool IsThreadOwnerTrackingEnabled { get; }
public SpinLock(bool enableThreadOwnerTracking);
public void Enter(ref bool lockTaken);
public void Exit();
public void Exit(bool useMemoryBarrier);
public void TryEnter(ref bool lockTaken);
public void TryEnter(int millisecondsTimeout, ref bool lockTaken);
public void TryEnter(TimeSpan timeout, ref bool lockTaken);
}
}