Java中的sleep()方法和wait()方法都是用于线程控制的方法,它们都让线程暂停执行,但它们之间存在一些区别。
- 所属类和调用方式:wait()方法属于Object类,需要在synchronized块或方法中调用;而sleep()方法属于Thread类,可以在任何地方调用。
- 对锁的处理机制:wait()方法可以释放对象所持有的锁,而sleep()方法则不能。
- 响应中断:wait()方法和sleep()方法都可以响应中断请求,但是wait()方法在响应中断时会抛出InterruptedException异常,而sleep()方法则不会。