我想为Java中的多线程实现延迟初始化。
我有一些这样的代码:
class Foo {
private Helper helper = null;
public Helper getHelper() {
if (helper == null) {
Helper h;
synchronized(this) {
h = helper;
if (h == null)
synchronized (this) {
h = new Helper();
} // release inner synchronization lock
helper = h;
}
}
return helper;
}
// other functions and members...
}
我得到了“双重检查锁定已损坏”声明。
我该如何解决?
慕哥9229398
www说
眼眸繁星
随时随地看视频慕课网APP
相关分类