簡単に言えば、オブジェクトが Java のスレッドローカル シングルトンであると誰かが言うとき、それはどういう意味ですか? 私は Java Server Faces についての講義に出席していましたが、FacesContext について話すたびに、講師はそれがスレッドローカル シングルトンであることを常に思い出させてくれました。
1748 次
1 に答える
14
FacesContext
スレッドごとに一意のインスタンスが 1 つだけ存在します。
は、HTTP サーブレット要求の先頭でFacesServlet
を作成しThreadLocal<FacesContext>
、HTTP サーブレット要求に関連付けられた HTTP サーブレット応答の最後でそれを削除します。JSF コードでa を実行するFacesContext#getCurrentInstance()
と、HTTP サーブレットの要求/応答処理全体を通じて、常に同じインスタンスが取得されます。
HTTP サーブレット リクエストは個別のスレッドによって実行され、FacesContext
インスタンスはスレッド ローカル変数として 1 つのスレッドにアタッチされるため、2 つの HTTP サーブレット リクエストが同じ FacesContext
インスタンスを共有することはありません。
于 2011-02-28T03:15:57.367 に答える