- ベストアンサー
サーブレット スレッドセーフについて
サーブレットのインスタンス変数、クラス変数はスレッドセーフではありませんが、 doGet などのほかに勝手に作ったメソッドは、スレッドで動作するのでスレッドセーフと考えていいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1の補足ですが、syncronizedなどにより、別スレッドでの更新を考慮して、変数の整合性を保つように設計されていれば、クラス変数(オブジェクト)であってもスレッドセーフと呼びます。 Vector =スレッドセーフ ArrayList=非スレッドセーフ なんかですね。
その他の回答 (1)
- KDASH-XP
- ベストアンサー率45% (62/135)
回答No.1
関数は関数自体・変数もスタックにおかれるから、別スレッドで上書きされる心配がない...という点で「スレッドセーフ」と考えた方がいいかと思います。 スレッドで動作するから...というのであれば、クラスの変数もスレッドで動作しているわけですから。 色々なスレッドから参照・更新されるのが問題と思えば良いかと思います。
質問者
お礼
なるほど、さんしょうですね。
お礼
なるほど、 私の今回の場合、 そのメソッド内でやっていることをよく分析すると、大丈夫そうです。