サーブレットはスレッドセーフではありません。したがって、クラスの静的関数を使用すると、複数のリクエストが同時に発生するとどうなりますか。彼らは静的関数をどのように扱いますか?
質問する
586 次
3 に答える
4
共有された可変データにアクセスする場合は、同期する必要があります。データが不変または読み取り専用であるか、スタック上にある場合は、問題ないはずです。
于 2012-04-18T09:58:30.660 に答える
1
ステートレスかどうかは、どのような静的メソッドを使用しているかによって異なります。ステートレスであり、メソッドのスコープ外のものを参照していない場合は、スレッドセーフになります。
于 2012-04-18T10:09:10.400 に答える
0
サーブレットで静的メソッドを使用している場合は、変数の状態が変更される可能性がある場合はローカル変数のみを使用するか、変更しない場合は静的変数を使用するか、同期アクセスメソッドを使用して、スレッドセーフにする必要があります。
また、SingleThreadModleインターフェイスを実装するか、「synchronize」構造を使用することで、関数スレッドセーフを実現できます。
于 2012-11-20T12:04:53.223 に答える