sleep()方法和wait()方法存在很多区别,简述一两点很简单,但是要全部讲好要好好记一下才行的。下面简述一下两个方法的主要区别。
1.sleep()方法是在休眠指定的时间后会重新进入可运行状态(Runnable),wait()方法是会进入阻塞状态,需要通过代码如notify(),notifyAll()来将其唤醒才能重新进入可运行状态(Runnable)
2.sleep()方法在休眠时不会放开对象的互斥锁,而wait()方法在阻塞时会放开互斥锁
3.sleep()方法来自Thread类,wait()方法是来自Object类的方法
4.使用范围有不同,sleep()方法可以在任意地方使用,而诸如wait()、notify()、notifyAll()等方法只能用在同步代码块或同步方法里
5.sleep()必须捕获异常,而wait()无需捕获异常
欢迎各位批评指正。