等待时间单位不同:Thread.sleep是Thread类的静态方法,参数是以毫秒为单位的等待时间;wait是Object类的实例方法,参数是以毫秒为单位的等待时间。
使用对象:Thread.sleep用于使当前线程暂停执行一段时间,不释放对象锁;wait用于使当前线程等待直到其他线程调用notify()或notifyAll()方法唤醒它,同时释放对象锁。
锁的释放:Thread.sleep不需要持有对象锁;wait方法需要在同步代码块或同步方法中调用,调用后会释放对象锁。
异常抛出:Thread.sleep方法不会抛出异常;wait方法会抛出InterruptedException异常。