Monitor 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供同步对对象的访问的机制。
public ref class Monitor abstract sealed
public ref class Monitor sealed
public static class Monitor
public sealed class Monitor
[System.Runtime.InteropServices.ComVisible(true)]
public static class Monitor
type Monitor = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Monitor = class
Public Class Monitor
Public NotInheritable Class Monitor
- 继承
-
Monitor
- 属性
注解
有关此 API 的详细信息,请参阅 监视器的补充 API 备注。
属性
| 名称 | 说明 |
|---|---|
| LockContentionCount |
获取尝试获取监视器锁时存在争用的次数。 |
方法
| 名称 | 说明 |
|---|---|
| Enter(Object, Boolean) |
获取指定对象的排他锁,并原子地设置一个值,该值指示是否已获取锁。 |
| Enter(Object) |
获取指定对象的排他锁。 |
| Exit(Object) |
释放指定对象的排他锁。 |
| IsEntered(Object) |
确定当前线程是否持有指定对象的锁。 |
| Pulse(Object) |
在等待队列中通知锁定对象状态的更改的线程。 |
| PulseAll(Object) |
通知对象状态更改的所有等待线程。 |
| TryEnter(Object, Boolean) |
尝试获取指定对象的排他锁,并原子地设置一个值,该值指示是否已获取锁。 |
| TryEnter(Object, Int32, Boolean) |
尝试在指定毫秒内获取指定对象的排他锁,并原子地设置一个值,该值指示是否已获取锁。 |
| TryEnter(Object, Int32) |
尝试获取指定对象上的排他锁的指定毫秒数。 |
| TryEnter(Object, TimeSpan, Boolean) |
尝试在指定时间内获取指定对象的排他锁,并原子地设置一个值,该值指示是否已获取锁。 |
| TryEnter(Object, TimeSpan) |
尝试在指定时间内获取指定对象的排他锁。 |
| TryEnter(Object) |
尝试获取指定对象的排他锁。 |
| Wait(Object, Int32, Boolean) |
释放对象上的锁并阻止当前线程,直到它重新获取锁。 如果指定的超时间隔已过,线程将进入就绪队列。 此方法还指定上下文的同步域(如果在同步上下文中)在等待之前退出并随后重新获取。 |
| Wait(Object, Int32) |
释放对象上的锁并阻止当前线程,直到它重新获取锁。 如果指定的超时间隔已过,线程将进入就绪队列。 |
| Wait(Object, TimeSpan, Boolean) |
释放对象上的锁并阻止当前线程,直到它重新获取锁。 如果指定的超时间隔已过,线程将进入就绪队列。 (可选)在等待之前退出同步上下文的同步域,然后重新获取域。 |
| Wait(Object, TimeSpan) |
释放对象上的锁并阻止当前线程,直到它重新获取锁。 如果指定的超时间隔已过,线程将进入就绪队列。 |
| Wait(Object) |
释放对象上的锁并阻止当前线程,直到它重新获取锁。 |
适用于
线程安全性
此类型是线程安全的。