POS03-C. volatile を同期用プリミティブとして使用しない volatile 修飾子がマルチスレッドプログラムに必要とされる以下の特性を備えている、というのは誤解である。 アトミック性: 分割不可能な 1 単位の処理としてメモリ操作を実行できる 可視性: あるスレッドで実行した書き込み操作の結果が別のスレッドから見える 逐次性: あるスレッドによる一連のメモリ操作は、他のスレッドでも同じ順番で見えることが保証される 残念ながら、これらのどの特性についても、volatile 修飾子によって実現されるという保証はまったくない。こうした特性は仕様に定義されておらず、各種プラットフォーム上でこうした特性を備えた実装方法が採用されているわけでもない。volatile の実装の詳細については、「DCL17-C. volatile 修飾された変数が間違ってコンパイルされることに注意」を参照