[2060] Re:info.servlet.serviceについて
投稿者:(ぱ)こと管理人
2017/12/18 23:55:58
>分からないのは「info.servlet」がnullでなければ、同じインスタンスが
>使いまわされるのに、並行して複数個所から使いまわされていいんだっけ?
>ということです。
p.92の補足にも書きましたが、サーブレットのインスタンスはひとつだけ生成され、
すべてのリクエストで共有されます。
よって、インスタンスフィールドを使えば、複数のスレッド間で競合が起きる
可能性がありますし、(補足にも書いたように)リクエスト単位やユーザ単位で
持つべき情報をサーブレットのインスタンスフィールドで保持してはいけません。
ただし、ローカル変数はスレッドごとに存在するので、ローカル変数(メソッドの
引数含む)だけを使っている限り、同じインスタンスのメソッドを複数のスレッドで
呼び出すことは問題ありません。