Java sleep和yield区别

yield和sleep都是作用于当前线程

yield方法会临时暂停当前正在执行的线程,让有同样优先级等待的线程有资源执行。如果没有正在等待的线程,或者所有正在等待的线程的优先级都比较低,那么该线程会继续运行。执行了yield方法的线程什么时候会继续运行由线程调度器来决定,不同的CPU可能有不同的行为。yield方法不保证当前的线程会暂停或者停止,但是可以保证当前线程在调用yield方法时会放弃CPU。

所以总结下来

  • yield和sleep都不释放锁
  • sleep只是暂停,之后继续
  • yield是让出CPU资源,等待下一次资源调度继续
分享

TITLE: Java sleep和yield区别

LINK: https://www.qttc.net/421-java-sleep-yield.html

NOTE: 原创内容,转载请注明出自琼台博客