サーブレット以外のクラスのインスタンス変数は、以下のようなサーブレットメソッド内でインスタンス化するとスレッドセーフですか?非サーブレットクラスのインスタンス変数はスレッドセーフですか?
//Non-servlet Class
public class x{
public String var1;
public String var2;
public String method(){
return (var1 + var2);
}
}
サーブレットクラス
public class myServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String varA = "Hello ";
String varB = "World";
String varC = null;
x xx = new x();
xx.var1 = varA;
xx.var2 = varB;
varC = xx.method();
}
}
他のスレッドと共有されていないオブジェクトがある場合は、スレッドの安全性について心配する必要はありません。 –
これは、複数のスレッドがmyServlet doGetメソッドを使用している場合、クラスxのvar1とvar2はスレッドセーフではないことを意味します。私は正しい? –