wclin88

Results 2 comments of wclin88

-- 此处说的「读取内存」,包括了读取 CPU 缓存和读取计算机主存。 也就说如果是2个跑在2个cpu的线程,一个线程写,一个线程读,那就算加了volatile,也有可能读写在各自的CPU缓存,而不能马上得到最新的值吗?

> @Liam0205 > @wclin88 那不会的。缓存一致性由缓存一致性协议保证,比如 MESI 协议。跟这里讨论的是两回事。 好的,谢谢。我看你上边的flag的例子是因为需要一定的顺序才会有问题,那如果我有一个线程负责对一个数据写,其他的线程负责读这个数据,至于读的是新数据还是旧数据是无关紧要的,那加volatile应该就可以了,不需要用atomic吧