0

Struts2では、すべてのリクエストがアクションオブジェクトを作成します。したがって、ここにはスレッドはありません。完全にスレッドセーフです。しかし、それがどのように優れたパフォーマンスをもたらすか。ここでは、すべてのオブジェクトが1つのスタックで機能します。(ただし、スレッドは実行用に複数のスタックを作成します)

スレッドなしでマルチプルリクエストをどのように処理しますか?

4

1 に答える 1

2

つまり、S2 が正確にどのように機能するかを知っていれば、なぜこのように設計されたのかがわかります。

S2 では、アクション クラスは、UI から Bean へ、および Bean から UI へデータを転送するようなモデル オブジェクトとしても機能します。これが、リクエストごとにアクション インスタンスの新しいコピーを作成することにした理由の 1 つです。

リクエストごとにスレッドを作成するのが正しい場合のパフォーマンスに関しては、フレームワークがスレッドセーフになるようにデータの同期を処理する必要があるため、実際には大きなオーバーヘッドであり、最終的には全体的なパフォーマンスは向上しません。

S2アクションはサーブレットでもコントローラーでもありません.S2フィルターとS2アクションクラスと混同していると思います.最終的に、すべてのリクエストには、リクエストスコープのS2アクションの独自のインスタンスがあります.

于 2012-04-10T12:33:29.190 に答える