Java多线程-sleep()和wait()的异同?
相同点:
一旦执行方法,都可以使得当前的线程进入阻塞状态
不同点:
1.两个方法声明的位置不同:Thread类中声明sleep(),Object类中声明wait()
2.调用的要求不同:sleep()可以在任何需要的场景下调用。wait()必须使用在同步代码块或同步方法中
3.关于是否释放同步监视器:如果两个方法都使用在同步代码块或同步方法中,sleep()不会释放锁,wait()会释放锁
4.sleep()必须捕获异常,而wait()无需捕获异常
本文来自博客园,作者:锦此,转载请注明原文链接:https://www.cnblogs.com/jinci2022/p/16526319.html