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