黑马程序员技术交流社区

标题: 学习线程的定时器疑问 [打印本页]

作者: 丁朋伟    时间: 2011-9-22 10:50
标题: 学习线程的定时器疑问
       //////////////////////标注一开始/////////////////////
        new Timer().schedule(new TimerTask(){

            @Override
            public void run() {
                System.out.println("bomb");
            }
            
        }, 10000,3000);
          //////////////////////标注一结束/////////////////////
        
        //////////////////////标注二开始/////////////////////
        while(true){
            System.out.println(new Date().getSeconds());
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
  //////////////////////标注二结束/////////////////////
       上面的程序是正确的
       如果把标注二的代码放到标注一的前面就不能通过编译,这是为什么???
       大虾指点下

作者: 匿名    时间: 2011-9-22 11:15
因为你的标注二是一个死循环,一旦放到标注一代码以前那么编译器就认为你的标注二的代码是不可达到的代码所以就会提示错误。
作者: 匿名    时间: 2011-9-22 11:52
[quote] 原帖由 [i]宋红旺[/i] 于 2011-09-22 11:15 发表 [url=http://bbs.itheima.com/redirect.jsp?goto=findpost&pid=10546&ptid=1663][img]http://bbs.itheima.com/images/common/back.gif[/img][/url]因为你的标注二是一个死循环,一旦放到标注一代码以前那么编译器就认为你的标注二的代码是不可达到的代码所以就会提示错误。 [/quote]

正解!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2