|
Mergedoc Translation |
||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface SingleThreadModel
Servlet が一度に一つのリクエストだけを扱うことを保証します。 このインタフェースにはメソッドはありません。
このインタフェースを実装した Servlet ならば、複数のスレッドが Servlet の service
メソッドを同時に実行しないことが 保証 されます。
Servlet コンテナは一つの Servlet インスタンスへのアクセスを排他制御することでそのような動作を保証しています。
コンテナによっては、Servlet インスタンスのプールを管理し、空いている Servlet に各リクエストを振り分けることで保証している場合もあります。
SingleThreadModel がすべてのスレッドセーフの問題を解決するというわけではないことに注意してください。 例えば、SingleThreadModel の Servlet を使用する場合、複数のスレッドに対する複数の要求で、同時にセッション属性と静的な変数にアクセスすることができます。 開発者はこのインタフェースを実装する代わりにインスタンス変数の使用を避ける、あるいはそれらのリソースにアクセスするコードブロックを同期させるなどのように問題を解決する他の手段を取ることをお勧めします。 このインタフェースは Servlet API バージョン 2.4 では推奨されません。
|
Mergedoc Translation |
||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |