锁(X)与锁(typeof(X))
锁定类的类型与锁定类本身有什么区别?
例如:
private readonly object xmpp = new object();
lock (xmpp)
{
...
}
与
lock (typeof(Xmpp))
{
...
}
What is the difference between locking on a type of a class vs locking on the class itself?
For example:
private readonly object xmpp = new object();
lock (xmpp)
{
...
}
vs
lock (typeof(Xmpp))
{
...
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
lock(x)
为该类型的每个实例同步不同的锁lock(typeof(X))
在该类型的所有实例上同步同一个锁始终锁定私有锁对象:
如果您必须同步对类静态成员的访问,使用相同的模式:
lock(x)
synchronizes on a different lock for each instance of the typelock(typeof(X))
synchronizes on the same lock for all instances of the typeAlways lock on a private lock object:
If you must synchronize access to class static members, use the same pattern: