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 的資訊,請參閱 Monitor 的補充 API 備註

屬性

名稱 Description
LockContentionCount

它能記錄嘗試奪取監視器鎖時發生爭執的次數。

方法

名稱 Description
Enter(Object, Boolean)

取得指定物件的排他鎖,並原子設定一個值,指示該鎖是否被取用。

Enter(Object)

取得指定物件的專屬鎖。

Exit(Object)

釋放指定物件的專屬鎖。

IsEntered(Object)

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

Pulse(Object)

通知等待佇列中的執行緒鎖定物件狀態變更。

PulseAll(Object)

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

TryEnter(Object, Boolean)

嘗試取得指定物件的專屬鎖,並原子設定一個值,指示該鎖是否被取用。

TryEnter(Object, Int32, Boolean)

在指定的毫秒內嘗試取得指定物件的獨佔鎖,並原子設定一個值以表示該鎖是否被取用。

TryEnter(Object, Int32)

在指定的毫秒內嘗試取得指定物件的獨佔鎖。

TryEnter(Object, TimeSpan, Boolean)

在指定時間內嘗試取得指定物件的專屬鎖,並原子設定一個值以表示該鎖是否被取用。

TryEnter(Object, TimeSpan)

在指定時間內嘗試取得對指定物件的專屬鎖。

TryEnter(Object)

嘗試取得對指定物件的專屬鎖。

Wait(Object, Int32, Boolean)

解除物件的鎖定,並阻塞當前執行緒直到它重新取得鎖定。 若逾時間隔超過,執行緒進入準備隊列。 此方法同時指定上下文的同步域(若在同步上下文中)是否在等待前退出,等待後再重新取得。

Wait(Object, Int32)

解除物件的鎖定,並阻塞當前執行緒直到它重新取得鎖定。 若逾時間隔超過,執行緒進入準備隊列。

Wait(Object, TimeSpan, Boolean)

解除物件的鎖定,並阻塞當前執行緒直到它重新取得鎖定。 若逾時間隔超過,執行緒進入準備隊列。 可選擇性地在等待前退出同步上下文的同步域,等待後重新取得該域。

Wait(Object, TimeSpan)

解除物件的鎖定,並阻塞當前執行緒直到它重新取得鎖定。 若逾時間隔超過,執行緒進入準備隊列。

Wait(Object)

解除物件的鎖定,並阻塞當前執行緒直到它重新取得鎖定。

適用於

執行緒安全性

此類型是安全線程。

另請參閱