想象一下有两个线程,一个给一个(已经初始化的)bool赋值,另一个线程读取/检查这个bool.如果对bool的访问没有被保护或者bool是非原子的,那么线程清理程序可能会在这里检测到可能的数据竞争.
这怎么可能?是否有可能分配给bool并不总是原子的,例如,由于缓存层次结构或无序执行等硬件特性?
c++ concurrency atomic
atomic ×1
c++ ×1
concurrency ×1