1

サーブレットはスレッドセーフではありません。したがって、クラスの静的関数を使用すると、複数のリクエストが同時に発生するとどうなりますか。彼らは静的関数をどのように扱いますか?

4

3 に答える 3

4

共有された可変データにアクセスする場合は、同期する必要があります。データが不変または読み取り専用であるか、スタック上にある場合は、問題ないはずです。

于 2012-04-18T09:58:30.660 に答える
1

ステートレスかどうかは、どのような静的メソッドを使用しているかによって異なります。ステートレスであり、メソッドのスコープ外のものを参照していない場合は、スレッドセーフになります。

于 2012-04-18T10:09:10.400 に答える
0

サーブレットで静的メソッドを使用している場合は、変数の状態が変更される可能性がある場合はローカル変数のみを使用するか、変更しない場合は静的変数を使用するか、同期アクセスメソッドを使用して、スレッドセーフにする必要があります。

また、SingleThreadModleインターフェイスを実装するか、「synchronize」構造を使用することで、関数スレッドセーフを実現できます。

于 2012-11-20T12:04:53.223 に答える