<PackageReference Include="System.Threading" Version="4.0.10" />

ReaderWriterLockSlim

public int CurrentReadCount { get; }

public bool IsReadLockHeld { get; }

public bool IsUpgradeableReadLockHeld { get; }

public bool IsWriteLockHeld { get; }

public int RecursiveReadCount { get; }

public int RecursiveUpgradeCount { get; }

public int RecursiveWriteCount { get; }

public int WaitingReadCount { get; }

public int WaitingUpgradeCount { get; }

public int WaitingWriteCount { get; }

public ReaderWriterLockSlim(LockRecursionPolicy recursionPolicy)

public void Dispose()

public void EnterReadLock()

public void EnterWriteLock()

public void ExitReadLock()

public void ExitWriteLock()

public bool TryEnterReadLock(TimeSpan timeout)

public bool TryEnterReadLock(int millisecondsTimeout)

public bool TryEnterUpgradeableReadLock(int millisecondsTimeout)

public bool TryEnterWriteLock(TimeSpan timeout)

public bool TryEnterWriteLock(int millisecondsTimeout)