线程方法wait和sleep的区别

Posted meteor12138

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程方法wait和sleep的区别相关的知识,希望对你有一定的参考价值。

wait和sleep这两个方法都可以让线程暂停执行,而且都有InterruptedException的异常说明,那么他们的区别是什么呢?

  • wait是Object的成员方法,而sleep是Thread的静态方法。
    • 只要是作为锁的对象都可以在同步代码块中调用自己的wait方法,sleep方法Thread的静态方法,表示的是让当前线程休眠指定的时间。
  • 调用wait方法需要先获得锁,而调用sleep方法是不需要的。
  • 调用wait方法的线程需要用notify/notifyAll来唤醒,而sleep必须设置超时值。
  • 线程在调用wait方法之后会先释放锁,而sleep不会释放锁

以上是关于线程方法wait和sleep的区别的主要内容,如果未能解决你的问题,请参考以下文章

sleep()方法和wait()方法的区别? sleep()方法和yield()方法的区别?

线程中wait 和sleep 的区别

wait方法和sleep方法的区别

wait方法和sleep方法的区别

线程——sleep()和wait()方法区别

线程——sleep()和wait()方法区别