在 C# 中使用 ReaderWriterLock
ReaderWriterLock 同步对资源的访问。
ReaderWriterLock 比 Monitor 具有更好的吞吐量,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。) |
| 4 | GetHashCode() 默认散列值 |
| 5 | GetType() 当前实例的类型 |
| 6 | ReleaseReaderLock() 锁计数递减 |
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP