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

sleep()和wait()的区别

作者: 糯米团子123 | 来源:发表于2022-11-29 16:33 被阅读0次
  1. sleep()方法是数据Thread类的;wait()方法属于Object类
  2. sleep()在任何地方都可以使用,使用时需要捕获InterruptedException异常;wait()方法必须放在Synchronized同步块中执行,同样需要捕获InterruptedException异常。
  3. sleep()方法让线程休眠指定时间,到了时间会自动执行;wait()方法则是需要notify()、notifyAll()方法唤醒,获取对象锁后在执行,或者可以使用wait(long millis)方法,时间一到无需其他线程唤醒,也会重新竞争对象锁继续执行。
  4. sleep()一般用户线程休眠或者轮循暂停操作;wait()多用于多线程间通讯。
  5. sleep()不会释放对对象锁的持有;wait()释放当前线程对lock对象锁的持有
  6. sleep()会让出CPU执行时间,强制切换上下文;wait()不一定,wait()后还是可以重新竞争对象锁并执行。

相关文章

  • Java中wait和sleep方法有什么区别?

    参考Java中wait和sleep方法的区别java中的 sleep() 和 wait() 有什么区别? wait...

  • sleep和wait区别以及while死循环

    sleep()和wait()区别 sleep()和wait()的区别属于老生常谈了,大部分Java面试或者笔试都会...

  • sleep() wait() 区别

    sleep() wait() 区别 wait()和sleep()最大的不同在于:wait()会释放对象锁,而sle...

  • 线程——wait和sleep

    wait()和sleep()的区别 sleep(): 1、sleep()是Thread类的方法; 2、sleep(...

  • 面试相关之 Java 并发

    1. sleep()和wait()的区别?参考回答:sleep()来自Thread类;wait()来自Object...

  • 线程考点

    1、sleep和wait的区别 sleep是Thread类的方法、wait是Object类中定义的方法sleep方...

  • Java多线程

    Java中的sleep()和wait()的区别 sleep属于Thread类的静态方法。而wait()方法,则是属...

  • 【进阶】 wait sleep

    wait sleep 区别 不同: wait会释放锁,而sleep不会释放锁 wait只能在同步方法和同步代码块中...

  • java sleep和wait相关知识汇总

    java sleep和wait的区别? sleep是Thread类的方法,wait是Object类中的方法,尽管这...

  • 解答

    Java sleep 和wait区别sleep 休眠让出CUP,不改变锁的状态wait 让出CUP,也将锁让出

网友评论

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

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