sleep 和 wait 方法的异同点

相同点

  1. 一旦执行了上述方法,都能够让线程进入阻塞状态
  2. 二个方法都需要进行异常捕获

不同点

  1. sleep是Thread类中的方法,wait是Object类中的方法
  2. Thread可以在任何场景下调用,wait方法只能在同步代码块或者同步方法中使用
  3. 如果二个方法都使用在同步代码块中,那么sleep不会释放同步锁,而且wait方法会释放同步锁
  4. sleep的状态是拿到了cpu只不过是暂时的休眠,当sleep的时间过去,就会在次抢夺cpu执行,而且wait是放弃了cpu的执行权,此方法必须要等待其他线程的唤醒(使用notify 或者 notifyAll 方法)

原文链接:https://blog.csdn.net/qq_44892091/article/details/103593683

你可能感兴趣的:(Java,概念)