线程wait和sleep的区别
线程的wait和sleep方法有以下几个主要区别:
1. 来源:sleep是Thread类的方法,而wait是Object类的方法。
2. 锁的处理:sleep方法在调用过程中,线程不会释放对象锁;而wait方法会放弃对象锁,进入等待此对象的等待锁定池。
3. 异常:sleep方法需要抛出异常,而wait方法不需要。
4. 使用范围:sleep方法可以在任何地方使用,而wait方法只能在同步方法和同步代码块中使用。
5. 唤醒方式:sleep方法在指定的时间到了会自动恢复运行状态,而wait方法需要被其他线程唤醒。