黑马程序员技术交流社区

标题: 多线程Thread.sleep()方法需要写try,catch的疑惑? [打印本页]

作者: yasyas001    时间: 2013-5-23 22:33
标题: 多线程Thread.sleep()方法需要写try,catch的疑惑?
本帖最后由 yasyas001 于 2013-5-24 23:25 编辑

public class Ticket1Demo implements Runnable{
static int ticket = 100;
public void run(){
  while (ticket>0){
   Thread.sleep(10);
   System.out.println(Thread.currentThread().getName()+"正在售出第"+(ticket--)+"张票");
  }
}
}
作者: 谢孔营    时间: 2013-5-23 22:45
下面是Thread类中的sleep()方法的具体解释,由此可知,该方法有 InterruptedException异常抛出
,所以要么你捕捉,有trycatch,或者抛出
public static void sleep(long millis,
                         int nanos)
                  throws InterruptedException在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。
作者: 陈潜    时间: 2013-5-24 00:56
要理解方法跑出的原因,给楼主最好的建议就是看JDK帮助文档,里面会写的很清楚
Thread.sleep() 方法解释如下:
public static void sleep(long millis)
                  throws InterruptedException在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。该线程不丢失任何监视器的所属权。
参数:
millis - 以毫秒为单位的休眠时间。
抛出:
InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。

作者: 袁梦希    时间: 2013-5-24 01:30
楼主你好,如果问题以解决,请修改分类,谢谢合作。






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