zoukankan      html  css  js  c++  java
  • 2020-09-15:java里的wait()和sleep()的区别有哪些?

    福哥答案2020-09-15:#福大大架构师每日一题#

    1.线程状态。wait()的线程状态是TimedWaiting和Waiting。sleep()的线程状态是Waiting。
    2.指定时间。wait()可以指定时间也可以不指定时间。sleep()必须指定时间。
    3.释放锁。wait()释放锁并且加入等待队列,常用于线程间交互。sleep()不会释放锁,常用于暂停执行。
    4.同步块。wait()需要在同步块里使用,否则抛出IllegalMonitorStateException异常。sleep()不需要。
    5.所在类。wait()是Object里的方法。sleep是Thread里的静态方法。
    6.唤醒。wait()需要被唤醒(不指定时间需要被别人唤醒),notify()、notifyAll()、interrupt()。sleep()不需要被唤醒(休眠之后退出阻塞),时间到或者interrupt()。
    7.捕获异常。wait()没指定时间不需要捕获异常,指定了时间需要捕获异常。sleep()需要捕获异常。
    ***
    [评论](https://user.qzone.qq.com/3182319461/blog/1600124842)

  • 相关阅读:
    SqlServer 格式化时间
    工作生活两三事
    前端面试题准备 3
    前端面试题准备 2
    MYSQL---自定义函数
    MYSQL---MD5()、PASSWORD()函数
    MYSQL---DATE_ADD()
    MYSQL---%
    MYSQL---多表删除
    MYSQL---CREATE...SELECT
  • 原文地址:https://www.cnblogs.com/waitmoon/p/13675782.html
Copyright © 2011-2022 走看看