Monitor.PulseAll(Object) 方法

定义

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

public:
 static void PulseAll(System::Object ^ obj);
public static void PulseAll(object obj);
static member PulseAll : obj -> unit
Public Shared Sub PulseAll (obj As Object)

参数

obj
Object

发送脉冲的对象。

例外

参数 objnull.

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

注解

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

请注意,同步对象包含多个引用,包括对当前保存锁的线程的引用、对就绪队列的引用、包含准备获取锁的线程,以及对等待队列的引用,该引用包含等待通知对象状态更改的线程。

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

对于 Pulse 方法的注释解释了如果在没有线程等待时调用 Pulse 会发生什么。

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

适用于

另请参阅