07/04/14 23:23:17
>>446
ロックでは解決しない問題もある
インスタンス変数はインスタンスごとに存在するが
static変数は一つしか存在しない
それをスレッドごとに書き換えるなんてまねをしたらどうなると思う?
いくらロックしたところで上書きされた値は戻ってこない
staticメソッドをマルチスレッドで使う場合はその辺りを注意する
static変数は定数として読み出しにだけ使うなら構わない
JavaにはThreadLocalというクラスが用意されているので
それを使えばstatic変数でも書き換え可能な仕組みは作れる