Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

スレッドセーフ

HttpSession はスレッドセーフではない。
よく見るコードに
 synchronized (sess) {
    sess.set...
 }
などとしているのですがこれの根本的な意味は何なのでしょうか?

セッションオブジェクトのロックを取得しているという意味だと思います。この synchronized 処理をしなかった場合に起こりえるエラーはいったいなんでしょうか。
よくわかりません。

6

回答

3159

閲覧

6件の回答

評価

0

そのソース自体ほかの人にはわかりませんよ。

そのよく見るコードは「あなたがよく見るだけであって」ほかの人はそうではないかもしれません。
私は、そうではないほうの人です。

評価

0

あの人さんれすありがとう。なかなかむつかしいっす。
マルチスレッド関係をもうちょっと勉強しま〜ス。

評価

0

>根本的な意味は何なのでしょうか?
synchronizedブロック内では、sessオブジェクトに対して1スレッドしかアクセスできなくなります。

あと、ダブルサブミットを防ぐために、
Struts等のトークンについても調べると良いと思います。

評価

0

なるほど、なんとなく分かりかけてきました。
まったく不必要なわけではないですね。

根本的な同期化処理についてなども含めて修行します。
ありがとうございます。

評価

0

一つのクライアントPCから同時に複数のリクエストが発射される可能性がなければ不要ですよね。

一般的に、そんな事は滅多にないと思いますが…

評価

0

そのめったにない状況をこれから調べながら学習していきます。ありがとう^^。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。