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
送出 Pulse 的物件。
例外狀況
obj
參數為 null
。
呼叫執行緒沒有指定物件的鎖定。
備註
目前擁有指定物件鎖定的執行緒會叫用這個方法,以發出等候取得物件鎖定之所有線程的訊號。 傳送訊號之後,等候的執行緒會移至就緒的佇列。 當叫用的執行緒 PulseAll
釋放鎖定時,就緒佇列中的下一個執行緒會取得鎖定。
請注意,同步處理的物件會保存數個參考,包括目前保存鎖定的執行緒參考、就緒佇列的參考,其中包含準備好取得鎖定的執行緒,以及等候佇列的參考,其中包含正在等候物件狀態變更通知的執行緒。
Pulse必須在已同步處理的程式碼區塊內叫用 、 PulseAll
和 Wait 方法。
方法的 Pulse 備註說明當 Pulse 沒有線程正在等候時呼叫會發生什麼情況。
若要發出單一線程的訊號,請使用 Pulse
方法。