- 822 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 03:13:09.01 ]
- メモリ競合は、あるスレッドがあるアドレス位置に書き込みを行っている最中に、
別のスレッドがそのアドレス位置に書き込み、もしくは読み込みを行うことで、 そのアドレス位置に中途半端にデータが書き込まれた状態で別のデータが書き込まれる、 あるいは読み込まれることによって起こる、という認識で正しいでしょうか? その場合、それはビット単位で起こるのでしょうか? たとえば以下のように、ある変数に2スレッドで書き込み、1スレッド読み込む場合、 変数の値が 0x00, 0xff 以外の値になることはあるでしょうか? もし変数のサイズがもっと大きければどうでしょう? // thread0 var = 0x00; // thread1 var = 0xff; // thread2 if( var ) ; // ...
|

|