首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lock(X) vs lock(typeof(X))

lock(X) vs lock(typeof(X))
EN

Stack Overflow用户
提问于 2011-11-18 23:46:03
回答 1查看 2.6K关注 0票数 18

锁定类的类型与锁定类本身有什么不同?

例如:

代码语言:javascript
复制
private readonly object xmpp = new object();

lock (xmpp)
{
    ...
}

vs

代码语言:javascript
复制
lock (typeof(Xmpp))
{
    ...
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-18 23:48:06

对于每个type

  • lock(typeof(X))实例,
  • lock(x)在不同的锁上进行同步对于

类型的所有实例,在同一锁上进行同步

始终锁定私有锁对象:

代码语言:javascript
复制
 public class X
 {
      private readonly Object _lock = new Object();

      // ...
            lock (_lock)
            {
            }

如果您必须同步对类静态成员的访问,请使用相同的模式:

代码语言:javascript
复制
 public class X
 {
      private readonly static Object s_lock = new Object();
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8185004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档