答:
sleep属于Thread类的静态本地方法,一般是用在当前线程休眠,或轮询暂停操作,使用sleep方法可以让当前线程休眠,时间一到当前线程就继续执行,任何地方都可以使用,但需要捕获interruptedException异常
wait属于Object类的本地方法,一般用于多线程之间的通信,使用wait必须在synchronized块里面,同样需要捕获异常,而且需要获取对象的锁
当切换线程时,sleep会让出cpu执行时间而且强制上下文切换,而wait则不一定,可能还有机会重新竞争到锁继续执行