7

この質問は以前に尋ねられ、以前に議論されましたが、さらに質問したいと思います。

  1. サーブレットはシングルトンですか? 私によると、それらはコンテナによってのみ初期化されますが、まだシングルトンではありません?? どうして ??

  2. サーブレットはシングル スレッドですか、それともマルチ スレッドですか ( javax.servlet.SingleThreadModelクラスについては忘れてください)。それらが同時に実行される場合、それはマルチスレッドであることを意味します?? マルチスレッドの場合、各スレッドにはサーブレットのインスタンスがあり、これは最初のポイントと矛盾します!!

私が思うに、新しいリクエストがあるときはいつでも、コンテナは、サーブレットのサービスメソッドにコントロールを呼び出すかディスパッチするという点で、Req1 などの受信リクエストに対して新しいスレッドを作成します。今、この実行は並行して行われます..そう思います...

私の作業はMVC環境でも同じですか?? (たとえば、Struts 1/2、Springs)

4

4 に答える 4

3

サーブレットはマルチスレッドです。これが効率のベースです。「implements SingleThreadModel」を使用してサーブレットをシングルスレッドにすることができるため、リクエストごとに新しいオブジェクトが作成されます。

最近、このインターフェース SingleThreadModel は廃止されました

于 2013-06-06T14:37:33.730 に答える