参考博客:sleep()和wait()的区别和共同点

共同点

两者都可以暂停线程的执行

区别

  1. sleep()方法没有释放锁、但wait()方法释放了锁;
  2. wait()方法调用后不会自动苏醒,需要别的线程调用同一对象的notify()/notifyAll()方法;而sleep()方式执行后会自动苏醒;
  3. wait()通常用于线程之间的通信,而sleep()一般用于暂停;