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 方法。

適用於

另請參閱