- 命名空間:System.Threading
- 程式集:
- mscorlib.dll, System.Threading.dll
嘗試擷取指定對象的排他鎖。
用于 Monitor 鎖定對象 (即引用類型) ,而不是值類型。 有關詳細資訊,請參閱 Monitor 文章。
若要確定線程不輸入臨界區,應檢查方法的傳回值,并僅在臨界區中執行代碼,前提是其傳回值為
true
。 下面的代碼段顯示了用于調用此方法的模式。 請注意,應 Exit 在塊中調用
finally
,以確定調用線程在發生異常的情況下釋放其對臨界區的鎖定。
C#複制
var lockObj = new Object();
if (Monitor.TryEnter(lockObj)) {
try {
// The critical section.
}
finally {
// Ensure that the lock is released.
Monitor.Exit(lockObj);
}
}
else {
// The lock was not axquired.
}