sleep 让出指定时间的执行权,也就是在这期间不参与 CPU 的调度,但是该线程所拥有的监视器资源,比如锁还是持有不让出的。等时间到了之后就重新变成就绪状态。 yield 调用 yield 方法时,当前线程会让出 CPU 的使用权,然后处于就绪状态,此时该线程完全有可能再一次获得CPU的使用权。 关于sleep与yield方法对线程持有锁资源的影响 都不会让出对应线程所持有的锁资源。