java 中用了thread.sleep()这个函数以后,当线程再被唤醒时,是重新执行thread.run()吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中用了thread.sleep()这个函数以后,当线程再被唤醒时,是重新执行thread.run()吗?相关的知识,希望对你有一定的参考价值。

java 中用了thread.sleep()这个函数以后,当线程再被唤醒时,是重新执行thread.run()吗?
额,是这样的,我是在写一个关于很多小球碰撞反弹的问题
public void run()
while (running)
moveBall();
LeCrashValues.sleep();//sleep在此处


private void moveBall() //遍历全部的球,检测是否发生碰撞,及当前的位置
try
for (LeBall mb : LeBallSurfaceView.ballList) //遍历全部的小球
moveBall(mb);//判断位置
checkCrash(mb);//判断是否碰撞,是的话,做出相应计算

catch (Exception e)
e.printStackTrace();


线程sleep了,当被唤醒时,后面没有可以执行的代码了,那么线程会怎么样

参考技术A 都不是,而是继续执行当前线程sleep后的操作 参考技术B public void run()
// code a
.....
Thread.sleep();
//code b


像这个一样,当被唤醒后是继续执行sleep后的操作 code b
希望对你有帮助本回答被提问者和网友采纳
参考技术C thread.sleep()这个函数是自己睡自己醒,醒了以后继续干没干完的事,不用别人唤醒跟多线程没关系。 参考技术D 都不是, 是继续执行thread.sleep() 下面的.... 第5个回答  2012-07-17 执行thread.sleep()后面一条语句 ,没了就消亡呗

C#中关于Thread.sleep(1000)的问题!!

想问下,假如程序开启了10条线程,我在其中的一条线程执行Thread.sleep(1000),这个时候,是这条线程暂停一秒,还是说10线程包括主线程都会暂停一秒呢??

要使一条子线程暂停一秒钟,还有没有其它更好的方法??

参考技术A 如果你没加判断条件哪个线程执行sleep1秒就是10个线程都sleep1秒,如果判断了就是一个线程 参考技术B 你初始化出来的被定义为子线程,如果未指定那一线程的话,将会是所有子线程暂停1S 参考技术C 当然是子线程上暂停一秒。 参考技术D 是指当前线程。不影响其他的

参考:http://msdn.microsoft.com/zh-cn/library/d00bd51t(v=vs.110).aspx本回答被提问者采纳
第5个回答  2013-12-28 10条都暂停一秒,确定

以上是关于java 中用了thread.sleep()这个函数以后,当线程再被唤醒时,是重新执行thread.run()吗?的主要内容,如果未能解决你的问题,请参考以下文章

Thread.sleep的意义& 多线程

Thread.sleep的意义& 多线程详解

Thread.sleep的意义& 多线程详解

java Thread.sleep卡死问题

java 中 Thread.sleep, 如果一个线程调用 sleep(5) , 那么5毫秒后这个线程一定运行吗?

java中的thread.sleep(1000) 用法