volatile只能保证编译器每次都从内存中读取数据,修改完之后直接写会内存,而不是直接读取cpu内部寄存器,或者写入到cpu内部寄存器,但是如果内存存在cache,volatile仍然不能保证数据一致性,因为cpu对这块内存的读写,有可能只是操作了cache,所以:
(13条消息) c语言缓存一致性,嵌入式C语言关键字volatile以及cache对数据一致性的影响_凤陶的博客-CSDN博客
https://excalidraw.com/#json=zj5C0qyVHRrDJI2HHxTAR,VGSwNGJ8CKBSYTrFyUPtRw