在 C# 中使用 ReaderWriter 锁
ReaderWriterLock同步对资源的访问。
ReaderWriterLock的吞吐量比Monitor更好,后者是一次一个锁。这适用于资源很少更改的情况。
让我们看看如何在C#中声明ReaderWriter锁-
static ReaderWriterLock r = new ReaderWriterLock();
以下是C#中ReaderWriter锁的属性-
IsReaderLockHold
获取一个值,该值指示当前线程是否持有读取器锁。
IsWriterLockHeld
获取一个值,该值指示当前线程是否持有Writer锁。
WriterSeqNum
当前序列号
以下是ReaderWriter锁的一些方法-
AcquireReaderLock(TimeSpan)
使用超时的TimeSpan值获取读取器锁定。
AcquireWriterLock(TimeSpan)
获取Writer锁,使用TimeSpan值作为超时。
Equals(Object)
确定指定对象是否等于当前对象。(继承自Object。)
GetHashCode()
默认哈希
GetType()
当前实例的类型
ReleaseReaderLock()
锁计数递减