小编jin*_*i70的帖子

Java双重检查锁定,这段代码有效吗?

我读过"双重锁定已破损"声明.但我想知道我是否通过函数创建对象,这样可以吗?

    class Foo { 
      private Helper helper = null;
      public Helper getHelper() {
        if (helper == null) 
          synchronized(this) {
            if (helper == null) 
              helper = createHelper();
          }    
        return helper;
      }
      private Helper createHelper() {
         return new Helper();
      }
      // other functions and members...
    }
Run Code Online (Sandbox Code Playgroud)

java double-checked-locking

3
推荐指数
1
解决办法
144
查看次数

标签 统计

double-checked-locking ×1

java ×1