任何人都可以解釋下面的代碼如何在多線程環境中正常工作,特別是當它不使用synchronized關鍵字時?單線程在多線程中不使用同步關鍵字
public class Singleton {
private Singleton() {}
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}
@leppie,這似乎有點苛刻...,尤其是對於相對新手(雖然我不否認你正確的做到這一點,我們的票是我們自己做的,因爲我們認爲合適的 - 「我不同意你說的話,但我會爲你的死亡權利而鬥爭」以及所有爵士樂)。我認爲這些選票適用於Q/A本身,而不是發佈人員的某種獎勵/懲罰機制。由於您實際上是通過添加標籤來修復問題的,因此不能認爲問題不足。 IMOBIBWBJAMW(在我看來,但我以前錯了 - 只是問我的妻子):-) – paxdiablo