java - sleep 线程唤醒后会发生什么?

标签 java multithreading

我知道 Java 中 sleep 方法的行为。 当我调用 sleep 方法时,当前正在执行的线程将停止执行并进入休眠状态。当它处于 hibernate 状态时,它会获取锁。

例如,如果我按如下方式调用 sleep 方法 线程. sleep (50) 我的问题是 50 毫秒后会发生什么。 它会唤醒并直接开始执行或 它会进入可运行状态并等待 CPU 给它执行的机会吗? 换句话说,它将进入Runnable状态并与其他线程争夺CPU。

请告诉我答案。

最佳答案

它将进入可运行状态。永远无法保证线程会在特定时刻执行。但是您可以设置线程的优先级以使其更有机会获得 CPU 时间。

关于java - sleep 线程唤醒后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333249/

相关文章:

c++ - C++线程安全 vector 插入

java - executor.invokeAll() lambda 体不返回

java - tomcat 5.5升级到tomcat 7.0需要重新编译所有JSP文件吗

java - Java 游戏中的死代码与玩家

c - Pthread id 和 sleep

multithreading - Node 后台线程 - 这些线程何时创建?

c++ - 数据结构的线程安全,在哪里添加同步原语?

java - 交互式 Ant

java - 为什么我的程序找不到我的文件?

java - 如何从边界框计算空间关系?