java之sleep和wait的区别是什么
小亿
92
2024-03-08 15:45:23
- sleep是Thread类的静态方法,而wait是Object类的实例方法。
- sleep方法会让当前线程暂停执行一段时间,不会释放锁,而wait方法会让当前线程暂停执行,并释放锁。
- sleep方法必须在synchronized块或方法内使用,而wait方法必须在synchronized块内使用。
- sleep方法不需要被唤醒,时间到了自动恢复执行,而wait方法需要通过notify或notifyAll来唤醒。
- sleep方法可以在任何地方使用,而wait方法只能在同步块内使用。