区别:
- sleep()是线程类(Thread)的方法,导致此线程暂停执行指定时间,把执行机会给其他线程,但是监控状态依然保持,超过指定时间后会自动恢复(线程回到就绪(ready)状态)。调用sleep()不会释放对象锁。
- wait()是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入就绪状态。
参考文章:
1. http://www.cnblogs.com/DreamSea/archive/2012/01/16/2263844.html