标签 ‘ unsafe

volatile 关键字需要知道的几点

本文作者 https://github.com/lich0079 转载请注明

可见性

多核执行多线程的情况下,每个core读取变量不是直接从内存读,而是从L1, L2 …cache读,所以你在一个core中的write不一定会被其他core马上观测到。

解决这个的办法就是volatile关键字,加上它修饰后,变量在一个core中做了修改,会导致其他core的缓存立即失效,这样就会从内存中读出最新的值,保证了可见性。

阅读全文

return top