Linux 拨号vps windows公众号手机端

java中sleep方法和wait方法的五个区别

lewis 6年前 (2019-01-20) 阅读数 9 #程序编程
文章标签 Java

  1. 调用方式不同:sleep方法是Thread类的静态方法,可以直接调用;wait方法是Object类的方法,需要在同步代码块中使用。

  2. 锁的释放不同:sleep方法不会释放锁,线程仍然持有锁;wait方法会释放锁,使得其他线程可以获取到锁。

  3. 唤醒方式不同:sleep方法只能通过时间到达自动唤醒;wait方法可以通过notify和notifyAll方法来唤醒。

  4. 使用场景不同:sleep方法主要用于线程暂停一段时间,不需要其他线程的协作;wait方法主要用于线程等待某个条件满足,需要其他线程的协作。

  5. 异常处理不同:sleep方法会抛出InterruptedException异常,需要进行异常处理;wait方法不会抛出异常。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门