今回のワンポイント コードのロジックに誤りを見つけられないのに、どうも正しく動作してくれない。このようなケースでは、マルチスレッドの影響を疑うべきだ。ServletやJSPはマルチスレッドで動作している(明示的にシングルスレッドで動作させることも可能だが)。そのため、変数の扱いに注意しないと、スレッドごとに値が書き換えられ、プログラムが正しく動作しない要因となる。 マルチスレッドのいたずら 機能確認の試験中は問題なかったのに、複数の端末から負荷をかけてみたらどうしたことか期待どおりに動作しない。プログラムを調査してみても原因が分からなくて途方に暮れる。こんな状況をさまざまなプロジェクトで何度も見掛けてきた。こういう状況になったら、プログラムがスレッドセーフ(複数のスレッドから同時にアクセスされても動作を保証された状態)かどうかを疑ってみることをお勧めする。 マルチスレッドに関する問題は、さ
![@IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意](https://cdn-ak-scissors.b.st-hatena.com/image/square/40833f8add61fb9a2eda318f26af3b6b9e5c95f2/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F0205%2F14%2Fr3fig1.gif)