我自己看过volatile会用在这几个地方,可以参考一下
1. 大多数的Device都会在kernel space map一块内存作为沟通之用
这块100%是volatile,不然稳死
简单说这块内存内容根本不是自己控制的,所以每次查询都需要去peek
2. 这情况虽然我不觉得需要volatile,但是很多人认为是需要的
就是threading的global部分(这是个多危险的东西啊 XD)
我总觉得这用法是从java来的,java会用volatile做某种程度的synchronized
我不知道C有没有这种行为
3. shmat拿到的void*取值后最好要volatile,别铁齿,虽然看起来是user space