推 ManOfSteel: 我想請問一下,你是怎麼知道bool型別支援single write 02/12 00:10
→ ManOfSteel: 和 multiple load? 02/12 00:10
→ ManOfSteel: uage/memory_model.html 02/12 00:19
→ ManOfSteel: 這一段話:When an汢valuation漑f an expression writ 02/12 00:20
→ ManOfSteel: When an汢valuation of an expression writes to a me 02/12 00:21
→ ManOfSteel: and another evaluation reads or modifies the same 02/12 00:21
→ ManOfSteel: memory location, the expressions are said to氲onf 02/12 00:21
→ ManOfSteel: 所以data race 是只要有一個 write 搭配其它 read 或w 02/12 00:25
→ ManOfSteel: rite 就會是發生。 02/12 00:25
→ LPH66: 另外, 就算 x86 組合語言只有一條, CPU 微指令可能有好幾條 02/12 01:50
推 if4: 請問這題適合轉 Linux 板嗎? 02/12 07:19
→ SFGEX: 應該說我只知道賦值跟讀變數都只有一條組語 02/12 14:40
→ SFGEX: 但複雜操作例如++ , swap會有多條 一定不行 02/12 14:40
→ SFGEX: 然後store load 即使底下還有微指令 02/12 14:47
→ SFGEX: 讀寫這個快取上byte也是原子性的 02/12 14:47
→ SFGEX: 不會說store更新了4bit還有4bit沒更新 02/12 14:47
→ SFGEX: 其他cpu 或是同一個cpu load這塊快取要馬新要馬舊 02/12 14:48
→ SFGEX: 應該是整個8bit 全舊全新選一個而已? 02/12 14:49
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: SFGEX (223.136.48.119 臺灣), 02/12/2026 14:49:33
→ leolarrel: bool 若是底層組語用暫存器實現,我認為是可不用鎖,但 02/24 13:01
→ leolarrel: bool 變數其實也可以用記憶體實現此變數, 所以我不敢說 02/24 13:02
→ leolarrel: 用bool 就一定不用鎖,還好kernel 有相關ATOMC巨集可用 02/24 13:02