在看完memory的课程中,我留意到页表中对cacheable的控制而且老师提到了volatile,因此对cacheable的应用产生兴趣。但是c语言中volatile是指每次都去读取内存而非寄存器,从字面意思好像是和cache没什么关系(这里我不确定从内存读取是从主存还是缓存,感觉还是会从缓存读取。倒是java的volatile是绕过缓存,但是好像内部底层实现好像也没有用到cacheable的控制。那么关于cacheable的应用是应用在哪里呢
在看完memory的课程中,我留意到页表中对cacheable的控制而且老师提到了volatile,因此对cacheable的应用产生兴趣。但是c语言中volatile是指每次都去读取内存而非寄存器,从字面意思好像是和cache没什么关系(这里我不确定从内存读取是从主存还是缓存,感觉还是会从缓存读取。倒是java的volatile是绕过缓存,但是好像内部底层实现好像也没有用到cacheable的控制。那么关于cacheable的应用是应用在哪里呢
不是老师,我个人感觉 volatile 是表示读/写这部分内存可能有副作用,防止编译器优化这一点。