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