程序大纲:
我们有两个线程(t1和t2)写一个整数值,然后将写入的值刷新到RAM.
另一个线程(t3)检查值巧合与所述一个是否写t1或t2,如果没有,打印它.
public class Container
{
int a;
volatile boolean b;
public static void main(String[] args)
{
Container container = new Container();
Thread t1 = new Thread()
{
@Override
public void run()
{
for (;;)
{
container.a = 409;
container.b ^= container.b;
}
}
};
Thread t2 = new Thread()
{
@Override
public void run()
{
for (;;)
{
container.a = 102;
container.b ^= container.b;
}
}
};
Thread …Run Code Online (Sandbox Code Playgroud)