这个问题属于老生常谈了,区别如下: sleep方法属于Thread类,而wait方法属于object类。sleep让当前线程睡眠一段时间,之后线程能自动恢复运行。wait则是让线程进入阻塞状态,之后该线程无法自动恢复运行,需通过notify()方法唤醒。执行sleep时,线程不会释放锁,而wait会释放锁。