シングルトン デザイン パターンの場合、何を優先すべきか。
1)make whole getInstance() method synchronized
OR
2)make only critical section synchronized.
どのようなアプローチをとるべきか、またその理由は?
シングルトン デザイン パターンの場合、何を優先すべきか。
1)make whole getInstance() method synchronized
OR
2)make only critical section synchronized.
どのようなアプローチをとるべきか、またその理由は?
Item 3
から読むEffective java
enforce singleton with property with private constructed or an enum type
最善の解決策は、シングルトンをまったく使用しないことです。マルチスレッド環境でシングルトンを使用する必要がある場合は、全体をgetInstance
同期させるか、一度に初期化された静的フィールドを使用します (単体テストの場合はさらに悪化します)。
http://www.ibm.com/developerworks/java/library/j-dcl/index.htmlを読む