一个wait()和sleep()在线程之间有什么区别?
我的理解是wait()-ing Thread仍处于运行模式并使用CPU周期但是sleep()-ing不会消耗任何CPU周期吗?
为什么我们都 wait()和sleep():如何实现他们在一个较低的水平有什么不同?
虚假唤醒会影响对Thread.sleep(x)的调用吗?显然,定时器不是100%精确(导致唤醒时间的微小不准确),但它是否受到虚假唤醒问题的影响?
特别是,它是否像这样在内部实现了一个 while-true 循环?
while (System.currentTimeMillis() < timeToRunTask){
Thread.sleep(1000);
}
doTask();
Run Code Online (Sandbox Code Playgroud)