两个进程

时间:2016-01-15 03:56:44

标签: java concurrency

“Java Concurrency in Practice”中的代码片段:

public class NoVisibility {
    private static boolean ready;
    private static int number;
    private static class ReaderThread extends Thread{
        public void run(){
            while(!ready)
                Thread.yield();
            System.out.println(number);
        }
    }

    public static void main(String[] args) {
        new ReaderThread().start();
        number = 42;
        ready = true;
    }
}

在这本书中,作者说" NoVisibility类可能会打印0或42",但我运行了这个代码几次,结果总是42。

0 个答案:

没有答案