我知道 Java 中 sleep 方法的行为。 当我调用 sleep 方法时,当前正在执行的线程将停止执行并进入休眠状态。当它处于 hibernate 状态时,它会获取锁。
例如,如果我按如下方式调用 sleep 方法 线程. sleep (50) 我的问题是 50 毫秒后会发生什么。 它会唤醒并直接开始执行或 它会进入可运行状态并等待 CPU 给它执行的机会吗? 换句话说,它将进入Runnable状态并与其他线程争夺CPU。
请告诉我答案。
最佳答案
它将进入可运行状态。永远无法保证线程会在特定时刻执行。但是您可以设置线程的优先级以使其更有机会获得 CPU 时间。
关于java - sleep 线程唤醒后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333249/