マルチスレッドについていろいろ考えてる機会が多かったのでちょっとまとめてみた。 Singletonのdouble-checked lockingはアンチパターンだという話 double-checked lockingとSingletonパターン ネットでも各所に書かれているけれど、メジャーな書き方なのでみんないつの間にか使ってしまっていることが多い。*1被害に会う可能性が非常に低いので対策はほぼ必要ないけど知っておいて損はない。 double-checked lockingとはどんなソースかというと public static Singleton getInstance(){ if (instance == null){ synchronized(Singleton.class) { //1 if (instance == null) //2 instance = new Singleto