- 679 名前:デフォルトの名無しさん mailto:sage [2006/07/26(水) 23:07:03 ]
- >>678
「アトミックなインクリメント」というものを理解していないような気がする。 過去に5だったかどうかはさておき、他のスレッドで0にされたものが1に なるのだから成功している。 というか5で放置されてて6になってもやはり成功。 *addr=0; IntgerlockedIncrement(&addr); ←APIによるアトミックなインクリメント などとしたところで、この2行の間に*addrが5になって0になることもある。 「アトミックなインクリメントに失敗」というのは、2つのスレッドで1度ずつ アトミックなインクリメント操作が行われたにも関わらず2増えないことを言う。 これは正しい実装では決して起きない。
|

|