Monitor 类

定义

提供同步对对象的访问的机制。

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)

释放对象上的锁并阻止当前线程,直到它重新获取锁。

适用于

线程安全性

此类型是线程安全的。

另请参阅