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 執行緒釋放鎖時,待辦佇列中的下一個執行緒會取得該鎖。
請注意,同步物件會保留多個參考,包括目前持有鎖的執行緒參考、準備佇列(包含準備取得鎖的執行緒)以及等待佇列(等待物件狀態變更通知的執行緒)的參考。
必須在同步處理的程式代碼區塊內叫用Pulse、PulseAll和Wait方法。
Pulse 方法的備註說明如果在沒有執行緒等候時呼叫 Pulse,會發生什麼情況。
要標示單一線程,請使用以下 Pulse 方法。