sleep()方法属于 Thread 类,而 wait()方法,则是属于Object 类中的。

sleep()方法是暂停执行指定的时间,让出 cpu 给其他线程,但是他的监控状态依然保持,当指定的时间到了又会自动恢复运行状态。

在调用 sleep()方法的过程中,线程不会释放对象锁。

在调用 wait()方法的时候,线程会放弃对象锁,并进入等待队列,当其他线程调用notify()或者notifyAll()方法时,当前线程进入就绪状态。