zoukankan      html  css  js  c++  java
  • 【面试】Java中sleep和wait的区别

    1、sleep方法是Thread类的静态方法;

    wait方法是Object类的成员方法

    2、sleep方法使当前线程暂停执行指定的时间,让出cpu给其他线程,但是它的监控状态依然保持着,当指定的时间到了又会自动恢复运行状态。在调用sleep方法后,线程不会释放对象锁;

    而当调用wait方法时,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池处于准备状态。

    3、sleep方法有可能会抛出异常,所以需要进行异常处理;

    wait方法不需要处理

    4、sleep方法可以在任何地方使用;

    wait方法只能在同步方法和同步代码块中使用

    Java中线程的生命周期图谱如下所示:


    ---------------------
    版权声明:本文为CSDN博主「掌灯夜行」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dao_wolf/article/details/81175089

  • 相关阅读:
    Spring中的AOP
    P2782 友好城市
    1576 最长严格上升子序列
    1058 合唱队形 2004年NOIP全国联赛提高组
    5294 挖地雷
    1643 线段覆盖 3
    4768 跳石头
    1026 逃跑的拉尔夫
    2727:仙岛求药
    codevs 4888 零件分组
  • 原文地址:https://www.cnblogs.com/ibigboy/p/11339201.html
Copyright © 2011-2022 走看看