- 618 名前:デフォルトの名無しさん mailto:sage [2010/06/17(木) 23:10:04 ]
- そもそもvolatileの順序保障をどういう風に使うかというと、
例えば int data1; int data2; volatile bool completed; みたいな変数定義を行って、 スレッドAで、 data1 = 1 data2 = 2 completed = true; みたいなことをして、 スレッドBで、 if (completed) { //data1とdata2を読み取り } みたいにしたとき、data1とdata2の読み取りで、 確実にスレッドAで更新された結果にアクセスできる。 これは、 volatile書き込みより前の書き込みは必ずvolatile書き込みより前に行われ、 volatile読み取りより後の読み取りは、必ずvolatile読み取りより後に行われることが保証されてるから。
|

|