HashMapのマルチスレッドアクセス問題は、これまで色んな記事やBlogで取り上げられてますのでかなり有名ですよね。例えば以下とか。 ThreadとHashMapに潜む無限回廊は実に面白い? (1/3) - @IT HashMapと無限ループとsynchronized - 谷本 心 in せろ部屋 複数のスレッドから同時にputされると、無限ループになる可能性があるというやつですね。 しかしgetに対しても同期化が必要という意識はもしかして低いのでしょうか? これまでいくつかのプロジェクトで同様のバグに出会ってきました。皆さん、getやremoveに対してはちゃんとsynchronzedブロックを使うなどして同期化を行っているんですけど、getには何もせず。 この場合、putとgetが重なると値が存在してもnullが返ることがあります。結果として予期せぬ動作を起こしてしまいます。 そして