1.sleep是Thread类的方法,wait是Object类的方法
2.sleep可以使用任何地方,wait只能在同步控制方法和同步代码块中使用
3.sleep主要用于线程暂停,wait主要用于线程交互
4.sleep方法并不会释放锁,而wait()方法则不同,当调用wait()方法后,线程会释放掉他所占用的锁,从而使线程所在对象中的其他synchronized数据可以被其他线程使用
5.sleep方法必须捕获异常,而wait()不需要捕获异常。在sleep的过程中,有可能被其他对象调用他的interrupt(),产生InterruptedException。由于sleep不会释放锁标志,容易导致死锁问题的发生
wait和sleep方法的区别
最新推荐文章于 2024-11-21 10:52:19 发布