在 C# 中使用 ReaderWriter Lock


ReaderWriterLock 用于同步对资源的访问。

ReaderWriterLock 拥有比 Monitor 更好的吞吐量,后者是一种一次性锁。这适用于资源很少更改的情况。

我们来看一下如何在 C# 中声明一个 ReaderWriter 锁 −

static ReaderWriterLock r = new ReaderWriterLock();

以下是 C# 中 ReaderWriter 锁的属性 −

序号 属性和说明
1

IsReaderLockHeld

获取一个值,指示当前线程是否持有读取锁。

2

IsWriterLockHeld

获取一个值,指示当前线程是否持有写入锁。

3

WriterSeqNum

当前序列号

以下是 ReaderWriter 锁的一些方法 −

序号 方法与说明
1

AcquireReaderLock(TimeSpan)

获取读锁,使用 TimeSpan 值作为超时时间。

2

AcquireWriterLock(TimeSpan)

获取写锁,使用 TimeSpan 值作为超时时间。

3

Equals(Object)

确定指定的 Object 是否等于当前对象。(从 Object 继承。)

4

GetHashCode()

默认哈希

5

GetType()

当前实例的类型

6

ReleaseReaderLock()

锁计数递减

更新于: 30-Jul-2019

592 次浏览

开启您的 职业生涯

完成课程,获得认证

开始学习
广告