锁定对象和线程同步

时间:2014-07-25 04:37:25

标签: c# multithreading

我以前是一名C ++开发人员,我在线程同步上阅读了C#文档,但有一点我不清楚。

该类创建一个专门用于关键部分的锁定对象:

private System.Object lockThis = new System.Object();

为什么他们不能锁定现有对象呢?例如,让我们说我有一个名为" Players"其中包含通过单件设计模式从多个线程访问的播放器列表。它有"添加"和"删除"方法

我可以简单地锁定此对象,而不是创建一个专门用于锁定的新对象吗?如果我不能为什么不呢?

我还没有在文档中发现任何关于此的内容,因为它似乎使代码看起来更干净。

即,一些伪代码:

lock (Players)
{
    Players.Add(...);
    ...
    Players.Remove(...);
}
编辑:这是不好的做法,气馁等等?这就是为什么在任何地方都没有提到它?

0 个答案:

没有答案