一道面试题,多线程编程中lock(this),lock(static object),lock("this")的区别?

解决方案 »

  1.   

    第三个 lock("this")没用,因为是 字面值 string。没法再次引用同一个对象
      

  2.   

    没有上下文的问题能回答出准确答案才是愚蠢的...唯一确定的是第三种lock("this"),这个是有上下文的...字符串特性决定了lock字符串值将锁定应用程序域该字符串值的所有实例,这是非常危险的...至于前两种,你应该反问他,上下文是什么...
      

  3.   

    lock(this)本线程执行完前其它线程无法访问
    lock(static object)我一般用这个
    lock"this" 错
      

  4.   

    lock(this)只用于当前实例不同线程,不同实体并不会互斥。