次の方法で共有


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 スレッドがロックを解放すると、準備完了キュー内の次のスレッドがロックを取得します。

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

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

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

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

適用対象

こちらもご覧ください