版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011517841/article/details/82053094
Java 中 sleep 方法和 wait 方法的区别
1)sleep是是属于Thread类的,wait是属于Object类的
2)在调用sleep()方法的过程中,线程不会释放锁,而wait方法释放了锁,前提条件是它已经持有锁。所以wait和notify(或者notifyAll)方法都必须被包裹在synchronized语句块
3)sleep()需要捕获异常, wait不需要
因为Thread.sleep()是让线程休眠。在这种睡眠状态下,你可能调用interrupte来终止线程,这样就会抛出InterruptException,只有捕获异常进行处理,才能正确的终止线程。