一、来自不同的类 wait 来自 Object 类sleep 来自 Thread 类 二、关于锁的释放 wait 会释放锁sleep 不会释放锁 三、使用的范围 wait 必须在同步代码块中使用sleep 可以在任何地方使用 四、是否需要捕获异常 wait 不需要捕获异常sleep 必须捕获异常