美文网首页
sleep() 和 wait()的区别

sleep() 和 wait()的区别

作者: ChadJ | 来源:发表于2021-08-06 11:07 被阅读0次

    相同点

    1. 都会将当前线程暂停,交出CPU资源让其它线程运行。
    2. 都是native方法。
    3. 在等待期间被中断,都会抛出InterruptedException。

    不同点

    1. 所属类不同
      • sleep() 属于Thread类。
      • wait() 属于Object类。
    2. 对锁保持不同
      • sleep() 保持锁。
      • wait() 释放锁。
    3. 唤醒方法不同
      • sleep() 到达指定时间自动唤醒。
      • wait() 需要notify()或notifyAll()唤醒。
    4. 使用位置不同
      • sleep() 用于任何位置。
      • wait() 用于同步代码块。
    5. 调用后进入状态不同
      • sleep() 进入TIMED-WAITING
      • wait() 进入 WAITING

    相关文章

      网友评论

          本文标题:sleep() 和 wait()的区别

          本文链接:https://www.haomeiwen.com/subject/wwubvltx.html