小编Sud*_*dix的帖子

多线程 - 为什么下面的程序表现得很奇怪?

程序大纲:
我们有两个线程(t1t2)写一个整数值,然后将写入的值刷新到RAM.
另一个线程(t3)检查值巧合与所述一个是否写t1t2,如果没有,打印它.

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)

java multithreading

8
推荐指数
1
解决办法
100
查看次数

标签 统计

java ×1

multithreading ×1