[過去ログ] マルチスレッドプログラミング相談室 その8 (1001レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
655: 2011/09/09(金)21:29:06.03 AAS
>>652
途中で読まれてはいけない更新の開始から最後までロックする。
ロックが長時間にわたる可能性がある場合はSystem.Threading.Mutex.WaitOneで
タイムアウトさせる。
657: 2011/09/12(月)00:26:16.03 AAS
中途半端な状態で読むのがアウトってだけだったら、一つのクラスにA〜Zの変数をまとめておいて
更新時には丸ごと新しいインスタンスに差し替えてしまえばロックいらないよ
767
(3): 2011/10/23(日)22:09:36.03 AAS
>>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
851: 2012/02/22(水)00:02:11.03 AAS
>>849
理屈じゃ分かっちゃいたんだけどねぇ。まさかここまで遅いとは・・・。

>>850
並列化は諦めるしかないのかねぇ。
990
(1): 2012/06/14(木)12:40:46.03 AAS
ちなみに,サブルーチンに入れる前でも,マルチスレッド化はされませんでした.
i,jのdo内で,コールしている部分にそのままサブルーチンの中身を書いていました.

その際,shoi(),shoj(),k,min_more,sekiなど,
ローカルな変数はすべて配列化して,引数に(i,j)をとり,
コンパイラにはdoの順序が任意であるように伝わるようにしたのですが,
それでもだめでした.
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s