Monitor.PulseAll 方法

通知所有的等待线程对象状态的更改。

**命名空间:**System.Threading
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Shared Sub PulseAll ( _
    obj As Object _
)
用法
Dim obj As Object

Monitor.PulseAll(obj)
public static void PulseAll (
    Object obj
)
public:
static void PulseAll (
    Object^ obj
)
public static void PulseAll (
    Object obj
)
public static function PulseAll (
    obj : Object
)

参数

  • obj
    发送脉冲的对象。

异常

异常类型 条件

ArgumentNullException

obj 参数为 空引用(在 Visual Basic 中为 Nothing)。

SynchronizationLockException

调用线程不拥有指定对象的锁。

备注

当前拥有指定对象上的锁的线程调用此方法向所有等待获取该对象上的锁的线程发出信号。发送信号后,等待线程就被移动到就绪队列中。在调用 PulseAll 的线程释放锁后,就绪队列中的下一个线程将获取该锁。

请注意,同步的对象包含若干引用,其中包括对当前拥有锁的线程的引用、对就绪队列(包含准备获取锁的线程)的引用和对等待队列(包含等待对象状态更改通知的线程)的引用。

PulsePulseAllWait 方法必须从同步的代码块内调用。

Pulse 方法的备注解释如果在没有任何线程在等待时调用 Pulse 会发生什么情况。

若要向单个线程发出信号,请使用 Pulse 方法。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

Monitor 类
Monitor 成员
System.Threading 命名空间
Thread

其他资源

托管线程处理
监视器