private class MyClass
{
private static MyObject myObject = new MyObject();
private void ModifyObject()
{
lock(myObject)
{
myObject.UnsafeMethod();
}
}
}
可以鎖定myObject
還是必須聲明另一個專用鎖定對象?對同一個對象的鎖()我試圖獨佔訪問或使用單獨的鎖定對象?
謝謝。我知道這一點,但在編寫代碼時會忘記它。 – Monstieur 2013-05-09 09:41:39
這並不意味着很多。一般來說,當你想要一個鎖時,並不是因爲你只需要一個線程運行該代碼塊,而是你不希望任何地方的任何代碼都可以通過多個線程訪問某個對象。 – 2014-06-20 22:40:39
「我可以鎖定一個對象,但沒有其他人可以達到它」的另一個受害者。 – 2014-06-20 22:48:03