姬長信(Redy)

c – bool读/写操作可以在x86上不是原子操…


参见英文答案 > Why is integer assignment on a naturally aligned variable atomic on x86?????????????????????????????????????5个
>????????????Can modern x86 hardware not store a single byte to memory?????????????????????????????????????6个
假设我们有两个线程,一个是在循环中读取bool而另一个可以在特定时间切换它.我个人认为这应该是原子的,因为C中的sizeof(bool)是1个字节而你不是部分读/写字节但我想100%肯定.

那么是或否?

编辑:

同样为了将来参考,同样适用于int?