タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

ITとConcurrent-or-Parallel-Computingに関するmasa8aurumのブックマーク (2)

  • [実装編]スレッドセーフにすることを忘れてはいけない

    スレッドセーフとは,アプリケーションをマルチスレッドで動作させても問題がないことを指す。サーバー向けアプリケーションは,マルチスレッドで動作するように設計・実装することが望ましい。そのほうが通常はパフォーマンスが向上するからだ。 だが,マルチスレッドのアプリケーションは,注意深く設計・実装しないとトラブルが生じる。例えば,あるスレッドで保持していた変数の値がほかのスレッドからアクセスされ,処理結果が上書きされたり,ほかの利用者の情報が見えてしまったりする。 こうしたトラブルは,開発者が1人で単体テストしているときには見つけられず,多数の利用者で限界時の挙動テストをしたときや,番移行した後で,たまたま見つかることが多い。トラブルが発生するタイミングを再現することが難しいので,デバッグは困難になりがちだ。 マルチスレッドでのトラブルを防ぐため,開発者は,スレッドセーフな設計と実装を心がける必

    [実装編]スレッドセーフにすることを忘れてはいけない
  • @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意

    今回のワンポイント コードのロジックに誤りを見つけられないのに、どうも正しく動作してくれない。このようなケースでは、マルチスレッドの影響を疑うべきだ。ServletやJSPはマルチスレッドで動作している(明示的にシングルスレッドで動作させることも可能だが)。そのため、変数の扱いに注意しないと、スレッドごとに値が書き換えられ、プログラムが正しく動作しない要因となる。 マルチスレッドのいたずら 機能確認の試験中は問題なかったのに、複数の端末から負荷をかけてみたらどうしたことか期待どおりに動作しない。プログラムを調査してみても原因が分からなくて途方に暮れる。こんな状況をさまざまなプロジェクトで何度も見掛けてきた。こういう状況になったら、プログラムがスレッドセーフ(複数のスレッドから同時にアクセスされても動作を保証された状態)かどうかを疑ってみることをお勧めする。 マルチスレッドに関する問題は、さ

    @IT:事例に学ぶWebシステム開発のワンポイント(4)マルチスレッドのいたずらに注意
  • 1