私はシングルトンの場合、ネストされたとの二倍nullの場合、開発者は常にチェックしているいくつかのコード、渡って来ている - 以下のコードのように:私は Java - シングルトンが2回ヌルであるかどうかを調べる理由はありますか?
...
private static processManager singleton = null;
public synchronized static processManager getInsatnce() throws Exception {
if(singleton == null) {
if(singleton == null){
singleton = new processManager();
}
}
return singleton
}
をこれが何であるかはわかりませんが、コードには多数のインスタンスが存在するため、理由があると考えられていますか?
2フェーズロックで失敗したようです。最も内側の 'if'ステートメントが' synchronized'ブロック内にあった場合、それは意味をなさないでしょう。 – toniedzwiedz
ええ、私はマルコの答えを見ています。面白い! – Sanchit
http://ja.wikipedia.org/wiki/Double-checked_locking? – mbatchkarov