マルチスレッドプログラミング相談室 その8at TECHマルチスレッドプログラミング相談室 その8 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト725:デフォルトの名無しさん 11/09/24 15:39:38.60 volatileを信用してると痛い目合うコンパイラもあるぞ 726:デフォルトの名無しさん 11/09/24 15:56:04.66 会う 727:デフォルトの名無しさん 11/09/24 17:11:35.69 コンパイラからバールのような物が飛んでくるのですね 728:デフォルトの名無しさん 11/09/24 17:55:34.09 perlのようなものか 729:デフォルトの名無しさん 11/09/24 18:18:48.58 >>716 ECMA-335はvolatile変数についてrelease-acquireバリアは要求してるけど、 sequential consistencyは要求してないように見える。12.6.7には > a conforming implementation is not required to provide a single total ordering > of volatile writes as seen from all threads of execution. とも書いてるし。 730:729 11/09/24 18:20:59.69 >>716 だから、ECMA-335において、たとえば以下のようなコードでは volatile int a = 0; volatile int b = 0; Thread1: { a = 1; int r1 = b; } Thread2: { b = 1; int r2 = a; } r1 == 0 && r2 == 0 という結果も許されるんじゃないかな。 一方で、JavaのvolatileやC++11のstd::atomicはこういう結果を許さない。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch