[過去ログ]
マルチスレッドプログラミング相談室 その8 (1001レス)
マルチスレッドプログラミング相談室 その8 http://peace.5ch.net/test/read.cgi/tech/1253521167/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
767: デフォルトの名無しさん [sage] 2011/10/23(日) 22:09:36.03 >>764 //thread1 int v = a.load_acquire(); int x = b.load_acquire(); a.store_release(1); //thread2 int w = b.load_acquire(); int y = a.load_acquire(); b.store_release(1); リオーダーされてこうなったら全部0 http://peace.5ch.net/test/read.cgi/tech/1253521167/767
768: デフォルトの名無しさん [sage] 2011/10/23(日) 22:11:32.64 >>767 てきとーなこと書くなよ http://peace.5ch.net/test/read.cgi/tech/1253521167/768
769: 768 [sage] 2011/10/23(日) 22:24:48.00 >>767 すまん勘違いしてた。同じa同士のloadとstoreはひっくり返るはずが無いと思ったが実際の動作ならそうなりえるよね。 http://peace.5ch.net/test/read.cgi/tech/1253521167/769
771: デフォルトの名無しさん [sage] 2011/10/23(日) 23:19:22.09 >>767,769 同じスレッド上でのリオーダーの話と別のスレッドから見たときの順序の話がごちゃ混ぜになってないか? a.store_release(1); int v = a.load_acquire();//a.store_releaseとa.load_acquireは同じオブジェクトなのでリオーダーできない。 int x = b.load_acquire();//その結果b.load_acquireも上に移動できない。 しかしながらseq_cstじゃ無いので他のスレッドから見たときの順序が保障されないので x == 0 && y == 0 はありうる これでいいんじゃね? http://peace.5ch.net/test/read.cgi/tech/1253521167/771
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s