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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 403383221 中级黑马   /  2013-4-18 11:47  /  1082 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 403383221 于 2013-4-18 12:29 编辑

Thread.sleep(long millis)的意思是在指定的毫秒数内让当前正在执行的线程休眠
public static void main(String []args){
   Ticket1 t = new Ticket1();
   Thread one = new Thread(t);
   one.start();
   try {
    Thread.sleep(10);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
}
我想问的是,休眠的线程是否是不确定的?就是不确定是主线程还是one这个线程

3 个回复

倒序浏览
休眠的是主线程,并且受到监控。one线程继续跑。
当时间到的时候cpu会在两个线程之间任意选一个执行。
你这里没有用到锁,如果两个对象用同一个锁对象,在sleep方法没有结束前,
one线程可能因为没拿到锁对象而无法得到cpu的时间片,导致两个线程都在等。
回复 使用道具 举报
JavaUtil 发表于 2013-4-18 12:08
休眠的是主线程,并且受到监控。one线程继续跑。
当时间到的时候cpu会在两个线程之间任意选一个执行。
你这 ...

恩  谢谢
回复 使用道具 举报
403383221 发表于 2013-4-18 12:28
恩  谢谢

呵呵 没什么,帮助你的同时我也在回忆,如果说错了,还会有众多朋友和版主纠错,双赢的事大家都会做的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马