在 C# 中使用 ReaderWriter 锁

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()

锁计数递减