Yat*_*oel 14 java multithreading shared-memory
我正在阅读Sun关于并发的教程.
但我无法准确理解内存一致性错误是什么?我搜索了一下,但没有找到任何有用的教程或文章.
我知道这个问题是主观的,所以你可以给我链接到上述主题的文章.
如果你用一个简单的例子解释它会很棒.
您可以阅读有关读写后(RAW),写后写(WAW)和写后读(WAR)危险的信息,以了解有关此主题的更多信息.这些危险指的是流水线过程,但实际上与多线程相同.它基本上意味着两个不同的线程正在更新内存中的相同位置,如果您按特定顺序依赖这些更新,那么您可能会惊讶地发现您无法保证更新发生的顺序.
例如,如果您有两个语句:
x = y + z;
r = x + z;
Run Code Online (Sandbox Code Playgroud)
在一个线程中,你没有问题,因为r的值将始终是一致的.然而,在多线程中,可能或者首先发生任何一个语句,并且r的值更难预测.
| 归档时间: |
|
| 查看次数: |
5027 次 |
| 最近记录: |