sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll。
1.区别一:
sleep是Thread类的方法,是线程用来控制自身流程的。
wait是Object类的方法,用来线程间的通信,这个方法会使当前拥有该对象锁的进程等待知道其他线程调用notify方法时再醒来,不过你也可以给他指定一个时间,自动醒来。这个方法主要是用走不同线程之间的调度的。
2.区别二:
在锁的释放上,调用sleep方法不会释放锁,调用wait方法会释放当前线程的锁。