1. sleep()方法是属于Thread类中的。而wait()方法,则是属于Object类中的。
2. wait()和sleep()都是让出CPU占有权,让其它线程能够得到运行,不同的地方在于wait()可以通过notify()或者notifyAll()主动唤醒或者wait()等待一定的时间自动恢复运行,而sleep方法只能在等待一定的时间后自动恢复运行,但是他的监控状态依然保持着。
3.sleep()可以不在synchronized的块下调用,sleep()不会丢失当前线程对任何对象的同步锁(monitor);
wait()必须在synchronized的块下来使用,调用了之后失去对象锁, 这样做的好处是它不影响其它的线程对object进行操作。