相同点
- 一旦执行了上述方法,都能够让线程进入阻塞状态
- 二个方法都需要进行异常捕获
不同点
- sleep是Thread类中的方法,wait是Object类中的方法
- Thread可以在任何场景下调用,wait方法只能在同步代码块或者同步方法中使用
- 如果二个方法都使用在同步代码块中,那么sleep不会释放同步锁,而且wait方法会释放同步锁
- sleep的状态是拿到了cpu只不过是暂时的休眠,当sleep的时间过去,就会在次抢夺cpu执行,而且wait是放弃了cpu的执行权,此方法必须要等待其他线程的唤醒(使用notify 或者 notifyAll 方法)
原文链接:https://blog.csdn.net/qq_44892091/article/details/103593683