爲什麼認爲模式被破壞?我看起來很好嗎?有任何想法嗎?雙重鎖定鎖定模式:是否損壞?
public static Singleton getInst() {
if (instace == null) createInst();
return instace;
}
private static synchronized createInst() {
if (instace == null) {
instace = new Singleton();
}
}
通過使用DI/IOC容器並允許容器控制對象的生命週期,而不是將此類邏輯嵌入對象本身,您可以完全避免此問題....不是一個答案,而是需要思考的問題。 – Stimul8d 2010-09-01 12:28:09
問題在這裏發佈的代碼是否算作雙重檢查鎖定的示例?鎖正在被檢查一次。 – 2010-09-01 13:56:11
請參閱http://stackoverflow.com/questions/3578604/how-to-solve-the-double-checked-locking-is-broken-declaration-in-java/3578674#3578674 – irreputable 2010-09-01 18:14:43