都是睡眠
wait是Object类的方法,会释放锁。
sleep是Thread.sleep的方法,不会释放锁。
当线程执行wait()方法时候,会释放当前的synchronized锁住的对象,然后让出CPU,进入等待状态。
对锁的 处理机制不同。由于sleep()方法的主要作用是让线程暂停执行一段时间,时间一到则自动恢复,不涉及线程间的通信,因此,调用sleep()方法并不会释放锁。而wait()方法则不同,当调用wait()方法后,线程会释放掉他所占用的锁,从而使线程所在对象中的其他synchronized数据可以被其他线程使用。