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

送出 Pulse 的物件。

例外狀況

obj 參數為 null

呼叫執行緒沒有指定物件的鎖定。

備註

目前擁有指定物件鎖定的執行緒會叫用這個方法,以發出等候取得物件鎖定之所有線程的訊號。 傳送訊號之後,等候的執行緒會移至就緒的佇列。 當叫用的執行緒 PulseAll 釋放鎖定時,就緒佇列中的下一個執行緒會取得鎖定。

請注意,同步處理的物件會保存數個參考,包括目前保存鎖定的執行緒參考、就緒佇列的參考,其中包含準備好取得鎖定的執行緒,以及等候佇列的參考,其中包含正在等候物件狀態變更通知的執行緒。

Pulse必須在已同步處理的程式碼區塊內叫用 、 PulseAllWait 方法。

方法的 Pulse 備註說明當 Pulse 沒有線程正在等候時呼叫會發生什麼情況。

若要發出單一線程的訊號,請使用 Pulse 方法。

適用於

另請參閱