ReaderWriterLockSlim 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于管理对资源的访问的锁,允许多个线程读取或独占访问写入。
public ref class ReaderWriterLockSlim : IDisposable
public class ReaderWriterLockSlim : IDisposable
type ReaderWriterLockSlim = class
interface IDisposable
Public Class ReaderWriterLockSlim
Implements IDisposable
- 继承
-
ReaderWriterLockSlim
- 实现
注解
有关此 API 的详细信息,请参阅 ReaderWriterLockSlim 的补充 API 备注。
构造函数
| 名称 | 说明 |
|---|---|
| ReaderWriterLockSlim() |
使用默认属性值初始化类的新实例 ReaderWriterLockSlim 。 |
| ReaderWriterLockSlim(LockRecursionPolicy) |
初始化类的新实例 ReaderWriterLockSlim ,并指定锁递归策略。 |
属性
| 名称 | 说明 |
|---|---|
| CurrentReadCount |
获取在读取模式下进入锁的唯一线程总数。 |
| IsReadLockHeld |
获取一个值,该值指示当前线程是否已在读取模式下进入锁。 |
| IsUpgradeableReadLockHeld |
获取一个值,该值指示当前线程是否已在可升级模式下进入锁。 |
| IsWriteLockHeld |
获取一个值,该值指示当前线程是否已在写入模式下进入锁。 |
| RecursionPolicy |
获取一个值,该值指示当前 ReaderWriterLockSlim 对象的递归策略。 |
| RecursiveReadCount |
获取当前线程在读取模式下进入锁的次数,作为递归的指示。 |
| RecursiveUpgradeCount |
获取当前线程以可升级模式进入锁的次数,以指示递归。 |
| RecursiveWriteCount |
获取当前线程以写入模式进入锁的次数,以指示递归。 |
| WaitingReadCount |
获取等待在读取模式下进入锁的线程总数。 |
| WaitingUpgradeCount |
获取等待在可升级模式下进入锁的线程总数。 |
| WaitingWriteCount |
获取等待在写入模式下进入锁的线程总数。 |
方法
| 名称 | 说明 |
|---|---|
| Dispose() |
释放类的 ReaderWriterLockSlim 当前实例使用的所有资源。 |
| EnterReadLock() |
尝试在读取模式下输入锁。 |
| EnterUpgradeableReadLock() |
尝试以可升级模式进入锁。 |
| EnterWriteLock() |
尝试在写入模式下进入锁。 |
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| ExitReadLock() |
减少读取模式的递归计数,如果生成的计数为 0(零),则退出读取模式。 |
| ExitUpgradeableReadLock() |
减少可升级模式的递归计数,如果生成的计数为 0(零),则退出可升级模式。 |
| ExitWriteLock() |
减少写入模式的递归计数,如果生成的计数为 0(零),则退出写入模式。 |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| ToString() |
返回一个表示当前对象的字符串。 (继承自 Object) |
| TryEnterReadLock(Int32) |
尝试在读取模式下输入锁,并显示可选的整数超时。 |
| TryEnterReadLock(TimeSpan) |
尝试在读取模式下输入锁,并显示可选的超时。 |
| TryEnterUpgradeableReadLock(Int32) |
尝试以可升级模式进入锁,并选择性超时。 |
| TryEnterUpgradeableReadLock(TimeSpan) |
尝试以可升级模式进入锁,并选择性超时。 |
| TryEnterWriteLock(Int32) |
尝试在写入模式下输入锁,并显示可选的超时。 |
| TryEnterWriteLock(TimeSpan) |
尝试在写入模式下输入锁,并显示可选的超时。 |
适用于
线程安全性
此类型是线程安全的。