Java双重检查锁定,这段代码能工作吗?
Java双重检查锁定,这段代码能工作吗?
我已经阅读了《\"双重检查锁定是错误的\"声明》。但我想知道如果我通过一个函数创建对象,那样会不会没问题?\n
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... }