08/07/10 01:20:22
>>32
うう~ん、あまり一般的な言い方ではないんですかね。
Sunのドキュメントとか見てると結構出てくる表現なんですが…
URLリンク(www.google.co.jp)
要はライブラリなんかが複数スレッドから同時に呼ばれるときに、
ライブラリ側でマルチスレッド環境を考慮していない場合なんかだと
内部的に保持しているメンバ変数の値が不整合になっちゃう場合があって、
だから呼び出し元がsynchronizedで呼んでやることで単一スレッドのみからの
アクセスを保障するようにプログラムを書くことです。 >「外部的に同期化」
さっきのサンプルでいうと、encryptやdecrptのメソッドをsynchronized宣言してやることで、
「外部的に同期化する」対応を行うことになります。
ただ、ライブラリ側で対応していたり、>>31で言及したようにそもそもインスタンスが不変であれば、
内部変数の値が不整合となることもないのでsynchronizedがいらないのではないかと思い、
それについてのドキュメントはありませんか?という意味で質問しました。