锁定类的类型与锁定类本身有什么区别?
例如:
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();
关于c# - 锁(X)与锁(类型(X)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185004/