1.sleep()方法属于Thread类的静态方法,wait()方法属于Object类的实例方法
2.sleep:用于线程休眠,不会释放锁;wait:用于对象监视器(锁),释放锁,进入等待状态,等待被唤醒。需要在同步中使用。
3.sleep:在指定时候后自动唤醒;wait:需要其他线程显式调用notify
或notifyAll
来唤醒。
4.sleep
和wait
都可能抛出InterruptedException
异常。
sleep()方法会让程序暂停执行指定的时间,让出cpu给其他的线程,当指定的时间到了会恢复运行。
sleep能够在任何地方使用,但wait只能在同步方法或同步块中使用。