タグ

ブックマーク / nodamushi.hatenablog.com (1)

  • Javaでマルチスレッドするときの注意をまとめてみた - プログラムdeタマゴ

    数年ぶりとかいうレベルでJavaのスレッドに触ったもんだから色々忘れてたので、忘れてたことまとめておく。 ダブルチェックロッキングパターンって何でダメなんだっけ? Javaではダブルチェックロッキングパターンって場合によってはクリティカルにヤヴァい事があります。やばいってことは覚えてたんだけど、どういう理由で、どういう場面でやばいのか忘れてました。 private Object checkObj; public void dcheck(){ if( checkObj == null) synchronized{ if(checkObj==null){ Object o = new Object(); checkObj = o; } } ……… } 上のコードがクリティカルにヤヴァいパターンです。 ダブルチェックロッキングパターンってのは主に、マルチスレッド環境でシングルトンなオブジェクトを

    Javaでマルチスレッドするときの注意をまとめてみた - プログラムdeタマゴ
  • 1