作者ksmrt0123 (ksmrt)
看板ASM
标题Re: [问题] Lock的用法
时间Sat Jan 2 10:44:42 2010
※ 引述《ggg12345 (ggg)》之铭言:
: memory read/write 指令当然不会是 atomic operation,
: process-A process-B
: read data-s
: read data-s
: modify to A
: modify to B
: write data-s write data-s
: 那 data-s 最终结果是那一个 ?
read/write必须要是atomic.
以这个例子来说, 两个processes同时对data-s写入,
之後对data-s的读取读到的值必须是
either A or B, 而不能是其它值, 这就是atomic.
更进一步的探讨可参考 Leslie Lamport 的paper:
How to Make a Correct Multiprocess Program
Execute Correctly on a Multiprocessor
http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-how-to-make.pdf
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.71.218