14-Java线程中wait和sleep的区别
Java线程中wait和sleep的区别
①、来自不同的类
wait()
来自Object类sleep()
来自Thread类
②、锁的释放时机不同
wait()
方法在等待的过程中会释放锁sleep()
方法在等待的过程中不会释放锁
③、使用的范围
wait()
方法必须在同步代码块中使用sleep()
方法可以在任何地方使用
④、捕获异常的不同
wait()
方法不需要捕获异常sleep()
方法需要捕获异常
wait()
来自Object类sleep()
来自Thread类wait()
方法在等待的过程中会释放锁sleep()
方法在等待的过程中不会释放锁wait()
方法必须在同步代码块中使用sleep()
方法可以在任何地方使用wait()
方法不需要捕获异常sleep()
方法需要捕获异常