黑马程序员技术交流社区

标题: 多线程疑问 [打印本页]

作者: 403383221    时间: 2013-4-18 11:47
标题: 多线程疑问
本帖最后由 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这个线程
作者: JavaUtil    时间: 2013-4-18 12:08
休眠的是主线程,并且受到监控。one线程继续跑。
当时间到的时候cpu会在两个线程之间任意选一个执行。
你这里没有用到锁,如果两个对象用同一个锁对象,在sleep方法没有结束前,
one线程可能因为没拿到锁对象而无法得到cpu的时间片,导致两个线程都在等。
作者: 403383221    时间: 2013-4-18 12:28
JavaUtil 发表于 2013-4-18 12:08
休眠的是主线程,并且受到监控。one线程继续跑。
当时间到的时候cpu会在两个线程之间任意选一个执行。
你这 ...

恩  谢谢
作者: JavaUtil    时间: 2013-4-18 12:32
403383221 发表于 2013-4-18 12:28
恩  谢谢

呵呵 没什么,帮助你的同时我也在回忆,如果说错了,还会有众多朋友和版主纠错,双赢的事大家都会做的。




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