锁定类的类型与锁定类本身有什么区别?
例如:
private readonly object xmpp = new object();
lock (xmpp)
{
...
}
与
lock (typeof(Xmpp))
{
...
}
最佳答案
lock(x)
为lock(typeof(X))
在始终锁定私有(private)锁定对象:
public class X
{
private readonly Object _lock = new Object();
// ...
lock (_lock)
{
}
如果必须同步对类静态成员的访问,请使用相同的模式:
public class X
{
private readonly static Object s_lock = new Object();