日期:2014-05-20  浏览次数:20700 次

线程休眠的问题
我们知道多个线程执行的时候,是每个线程轮流执行很小的时间的,比如有三个线程a,b,c,当b休眠后,假如a执行一小段时间后,然后,c再执行一段时间后,那会轮到b吗,是不是b在休眠,所以就不给b分配时间了,只给a和c分配时间???

------解决方案--------------------
如果是Thread.sleep(5*1000) 那么在时间5秒内将不分配给这个线程资源
当5秒后进入runable,就可以分配资源了
------解决方案--------------------
引用楼主 gxiaoqiang1987 的帖子:
我们知道多个线程执行的时候,是每个线程轮流执行很小的时间的,比如有三个线程a,b,c,当b休眠后,假如a执行一小段时间后,然后,c再执行一段时间后,那会轮到b吗,是不是b在休眠,所以就不给b分配时间了,只给a和c分配时间???

------解决方案--------------------
在休眠的线程是不会运行的,只有等休眠的时间到了,该线程进入阻塞的状态下,才有可能进入运行状态