>>245-247
皆さんレスどうもありがとうございます!

>>245
> >volatile がある場合とない場合で動作が変わるコード
> 難しいんじゃないかなあ

ありがとうございます。
ということは逆に言えば、volatile が無いことによって想定外の最適化が行われて
不具合につながること自体が起こりにくいものだと考えてもいいのでしょうか。

ただ仮にそうだとしても、お作法的には複数のスレッドからアクセスされる可能性のある
フィールドはすべてに volatile を付けるべきなのかなとも思うのですが、

CS0420 : volatile フィールドへの参照は、volatile として扱われません。

のような警告がうるさくてあまり volatile をつけたくないときもあるので悩んでしまいます。