黑马程序员技术交流社区

标题: 多线程下懒汉式同步锁的问题 [打印本页]

作者: 爽朗的菜籽    时间: 2014-9-20 16:34
标题: 多线程下懒汉式同步锁的问题
  1. class Single_2
  2. {
  3.         private Single_2(){};
  4.         private static Single_2 s_2 = null;
  5.         public static synchronized Single_2 getInstance()
  6.         {
  7.                 if(s_2==null)
  8.                 {
  9.                         s_2 = new Single_2();
  10.                 }
  11.                 return s_2;
  12.         }
  13. }
复制代码

代码如上 我想问的是在静态函数中此时同步的锁 是 this 还是 this.getClass呢?
作者: 复仇者联盟    时间: 2014-9-20 20:02
当线程进入到同步代码块里面时,需要获取一把锁,OBJECT对象都行,其他线程会处于临时阻塞状态,知道该线程把共享数据操作完成才能执行其他数据。还有同步函数,同步函数操作的锁为this(调用这个方法的对象),静态同步方法的锁为 类名.class
作者: 戏言丶    时间: 2014-9-21 00:03
在静态函数中定义同步时,它的锁都是 类名:class




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2