相同点: 两者都可以暂停线程的执行,都会让线程进入等待状态。

不同点: sleep()方法没有释放锁,而 wait()方法释放了锁。

sleep()方法属于Thread类的静态方法,作用于当前线程;而wait()方法是Object类的实例方 法,作用于对象本身。

执行sleep()方法后,可以通过超时或者调用interrupt()方法唤醒休眠中的线程;执行wait() 方法后,通过调用notify()或notifyAll()方法唤醒等待线程。