A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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--)+"张票");
  }
}
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
下面是Thread类中的sleep()方法的具体解释,由此可知,该方法有 InterruptedException异常抛出
,所以要么你捕捉,有trycatch,或者抛出
public static void sleep(long millis,
                         int nanos)
                  throws InterruptedException在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。该线程不丢失任何监视器的所属权。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
要理解方法跑出的原因,给楼主最好的建议就是看JDK帮助文档,里面会写的很清楚
Thread.sleep() 方法解释如下:
public static void sleep(long millis)
                  throws InterruptedException在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。该线程不丢失任何监视器的所属权。
参数:
millis - 以毫秒为单位的休眠时间。
抛出:
InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼主你好,如果问题以解决,请修改分类,谢谢合作。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马