sleep方法和wait方法在哪些方面有异同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计221个文字,预计阅读时间需要1分钟。
两者最重要的区别在于对锁的处理:`sleep` 方法没有释放锁,而 `wait` 方法释放了锁。两者都可以暂停线程的执行。`wait` 方法通常用于线程间的交互/通信,而 `sleep` 方法通常用于暂停执行。调用 `wait` 方法后,线程不会自动唤醒,需要其他线程调用 `notify` 或 `notifyAll` 来唤醒。
两者最主要的区别在于:sleep方法没有释放锁,而wait方法释放了锁。
两者都可以暂定线程的执行。
wait通常被用于线程交互/通信,sleep通常被用于暂停执行。
wait方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的notify()或者notifyall()方法。sleep()方法执行完成后,线程会自动苏醒。或者可以使用wait(long timeout)超时后线程自动苏醒。
本文共计221个文字,预计阅读时间需要1分钟。
两者最重要的区别在于对锁的处理:`sleep` 方法没有释放锁,而 `wait` 方法释放了锁。两者都可以暂停线程的执行。`wait` 方法通常用于线程间的交互/通信,而 `sleep` 方法通常用于暂停执行。调用 `wait` 方法后,线程不会自动唤醒,需要其他线程调用 `notify` 或 `notifyAll` 来唤醒。
两者最主要的区别在于:sleep方法没有释放锁,而wait方法释放了锁。
两者都可以暂定线程的执行。
wait通常被用于线程交互/通信,sleep通常被用于暂停执行。
wait方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的notify()或者notifyall()方法。sleep()方法执行完成后,线程会自动苏醒。或者可以使用wait(long timeout)超时后线程自动苏醒。

