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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中 Thread.sleep, 如果一个线程调用 sleep(5) , 那么5毫秒后这个线程一定运行吗?相关的知识,希望对你有一定的参考价值。

看线程的状态图就知道了

sleep以后进入runnable状态。这个是和当前线程数量、优先级、CPU时间片等等有关的。具体问题得具体分析。如果要个答案,肯定是不一定的。

 希望可以帮助你

参考技术A 不一定,5毫秒之后它会去排队等候了!排上去了就执行,如果别人抢先了!那还排着呢!是一种可运行(runnable)状态,随时可能会运行 参考技术B 推荐答案就很专业...
这是不一定的,
比如你去定做一个蛋糕, 师傅告诉你20分钟做好,
然后你就等20分钟, 很精确的20分钟一到师傅就能把蛋糕给你么? 显然是不一定的, 如果生意不好, 就你自己这是可能会立刻就给你了. 如果生意很好,正好有别人在买, 就得等这个人完事了才轮到你....
参考技术C 理论上是这样的,但是当5毫秒后您的CPU没有空闲的说也许要过一定的时间的,这个有点像电脑卡机一样。 参考技术D 这个要根据系统的精确度了,不同的系统精确度都不一样。

以上是关于java 中 Thread.sleep, 如果一个线程调用 sleep(5) , 那么5毫秒后这个线程一定运行吗?的主要内容,如果未能解决你的问题,请参考以下文章

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

Java多线程和Thread.sleep [重复]

NetBeans / Java / 新提示:在循环中调用 Thread.sleep

java中Thread.sleep(1000)问题

Windows 10上的Java Thread.sleep()在S3睡眠状态下停止

java Thread.sleep卡死问题