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

パルスを送信するオブジェクト。

例外

obj パラメーターはnull

呼び出し元のスレッドは、指定されたオブジェクトのロックを所有していません。

注釈

指定したオブジェクトのロックを現在所有しているスレッドは、このメソッドを呼び出して、オブジェクトのロックの取得を待機しているすべてのスレッドに通知します。 シグナルが送信されると、待機中のスレッドは準備完了キューに移動されます。 PulseAll呼び出されたスレッドがロックを解放すると、準備完了キュー内の次のスレッドがロックを取得します。

同期されたオブジェクトには、現在ロックを保持しているスレッドへの参照、ロックを取得する準備ができているスレッドを含む準備完了キューへの参照、オブジェクトの状態の変更の通知を待機しているスレッドを含む待機キューへの参照など、いくつかの参照が保持されることに注意してください。

PulsePulseAll、およびWaitメソッドは、同期されたコード ブロック内から呼び出す必要があります。

Pulse メソッドの解説では、スレッドが待機していないときにPulseが呼び出された場合の動作について説明します。

1 つのスレッドを通知するには、 Pulse メソッドを使用します。

適用対象

こちらもご覧ください