Bis*_*der 1 java multithreading volatile cpu-cache
我最近熟悉了volatile关键字,我发现直接从主内存中读取不会导致不一致和所谓的可见性问题.
我相信CPU缓存并不特定于任何线程.所以我想知道这个volatile关键字是否会在单一处理器中有用?
硬件级并发显然是规范动机的重要组成部分,但规范很清楚,这些要求适用于整个系统; 因此,例如,JVM的"即时"(JIT)编译器可以合法地优化等效的
while (this.var) {
... code that provably never modifies var ...
}
Run Code Online (Sandbox Code Playgroud)
相当于
if (this.var) {
while (true) {
... code that provably never modifies var ...
}
}
Run Code Online (Sandbox Code Playgroud)
如果var不是volatile.
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |