Monitor.PulseAll(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトの状態が変更されたことを、待機中のすべてのスレッドに通知します。
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
。