Monitor 類別

定義

提供一套機制,同步處理物件的存取。

public ref class Monitor abstract sealed
public ref class Monitor sealed
public static class Monitor
public sealed class Monitor
[System.Runtime.InteropServices.ComVisible(true)]
public static class Monitor
type Monitor = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Monitor = class
Public Class Monitor
Public NotInheritable Class Monitor
繼承
Monitor
屬性

備註

如需此 API 的詳細資訊,請參閱 監視的補充 API 備註

屬性

LockContentionCount

取得嘗試取得監視器鎖定時發生的競爭次數。

方法

Enter(Object)

取得指定物件的獨佔鎖定。

Enter(Object, Boolean)

取得指定之物件的獨佔鎖定,並且完整設定值,指出是否採用鎖定。

Exit(Object)

釋出指定物件的獨佔鎖定。

IsEntered(Object)

判斷目前執行緒是否保持鎖定指定的物件。

Pulse(Object)

通知等候佇列中的執行緒,鎖定物件的狀態有所變更。

PulseAll(Object)

通知所有等候中的執行緒,物件的狀態有所變更。

TryEnter(Object)

嘗試取得指定物件的獨佔鎖定。

TryEnter(Object, Boolean)

嘗試取得指定之物件的獨佔鎖定,並且完整設定值,指出是否採用鎖定。

TryEnter(Object, Int32)

嘗試取得指定物件的獨佔鎖定 (在指定的毫秒數時間內)。

TryEnter(Object, Int32, Boolean)

嘗試在指定的毫秒數內取得指定之物件的獨佔鎖定,並且完整設定值,指出是否採用鎖定。

TryEnter(Object, TimeSpan)

嘗試取得指定物件的獨佔鎖定 (在指定的時間內)。

TryEnter(Object, TimeSpan, Boolean)

嘗試在指定的時間內取得指定之物件的獨佔鎖定,並且完整設定值,指出是否採用鎖定。

Wait(Object)

釋出物件的鎖並且封鎖目前的執行緒,直到這個執行緒重新取得鎖定為止。

Wait(Object, Int32)

釋出物件的鎖並且封鎖目前的執行緒,直到這個執行緒重新取得鎖定為止。 如果超過指定的逾時間隔時間,執行緒會進入就緒序列。

Wait(Object, Int32, Boolean)

釋出物件的鎖並且封鎖目前的執行緒,直到這個執行緒重新取得鎖定為止。 如果超過指定的逾時間隔時間,執行緒會進入就緒序列。 這個方法也會指定等候之前和重新取得之後,是否要離開內容 (Context) 的同步處理領域 (如果在同步化內容中的話)。

Wait(Object, TimeSpan)

釋出物件的鎖並且封鎖目前的執行緒,直到這個執行緒重新取得鎖定為止。 如果超過指定的逾時間隔時間,執行緒會進入就緒序列。

Wait(Object, TimeSpan, Boolean)

釋出物件的鎖並且封鎖目前的執行緒,直到這個執行緒重新取得鎖定為止。 如果超過指定的逾時間隔時間,執行緒會進入就緒序列。 在等候之前和重新取得領域之後,可選擇性地結束同步化內容的同步處理領域。

適用於

執行緒安全性

此型別具備執行緒安全。

另請參閱