这两个陈述是否相等?
Thread.sleep(0); Thread.yield();
否。最明显的区别是sleep()抛出(已检查)InterruptedException。在实践中,效果可能几乎相同,但完全取决于实现。
sleep()
InterruptedException
我敢打赌,在连续做各一百万次将采取 很多 更长的睡眠(),因为系统计时器粒度可能经常导致它实际上是一段不可忽略量的睡眠。