调用方式不同:sleep方法是Thread类的静态方法,可以直接调用;wait方法是Object类的方法,需要在同步代码块中使用。
锁的释放不同:sleep方法不会释放锁,线程仍然持有锁;wait方法会释放锁,使得其他线程可以获取到锁。
唤醒方式不同:sleep方法只能通过时间到达自动唤醒;wait方法可以通过notify和notifyAll方法来唤醒。
使用场景不同:sleep方法主要用于线程暂停一段时间,不需要其他线程的协作;wait方法主要用于线程等待某个条件满足,需要其他线程的协作。
异常处理不同:sleep方法会抛出InterruptedException异常,需要进行异常处理;wait方法不会抛出异常。