1

次のようなクラスに静的メソッドがあるとします。

public static String getSomething(HttpServletRequest request)

これは、メソッドで、request.getHeader( "headerName")およびrequest.getParameter( "parameterName")を呼び出します。

また、Struts 2アクションでは、execute()内でこの関数を呼び出します。

private String theString;

public String execute() throws Exception {
    theString = TheClass.getSomething(ServletActionContext.getRequest());
    ....
    ....
}

静的なgetSomething(request)関数でリクエストの異議申し立てに変更を加えないと仮定すると、このスレッドは安全ですか?アクション内のHttpServletRequestオブジェクトはスレッドローカルであると私が理解していることから、私はそうだと思いますが、100%確実ではありません。

4

2 に答える 2

0

はい、すべての変数はスタックからのみ参照されるため、完全にスレッドセーフです。

于 2012-12-03T21:40:02.457 に答える
0

はい、これをパラメータとして渡しているので、スレッドセーフです。これは、コードで静的な数学クラスを使用するようなものです。

于 2012-12-03T21:41:41.193 に答える