读书人

关于effective java2 第66条的程序解决

发布时间: 2012-09-03 09:48:39 作者: rapoo

关于effective java2 第66条的程序

这个是书上的程序,会无限循环下去。

Java code
public class Test {    private static boolean b;    private static int i = 1;    public static void main(String[] args) throws InterruptedException {        Thread thread = new Thread(new Runnable() {            @Override            public void run() {                while (!b) {                    System.out.println(i);                }            }        });        thread.start();        TimeUnit.SECONDS.sleep(1);        b = true;        i = 2;        System.out.println(b);    }}

这是我写的例子。会中止线程。


[解决办法]
谢谢楼主分享。 要是能稍加解释就更好啦。
[解决办法]
要用server模式启动,此外去掉 System.out.println(),也就是尽量消除线程需要切换环境的可能性。

应该就可以看到无限循环的效果了。
[解决办法]
探讨
server模式启动是啥意思哦。

[解决办法]
探讨
恩,看到效果了。谢谢啊。

读书人网 >J2SE开发

热点推荐