首页 > JAVA > 当前页面

sleep与wait的区别

2025-01-10 NEW个对象

1、sleep()方法属于Thread类的静态方法,wait()方法属于Object类的实例方法


2、sleep:用于线程休眠,不会释放锁;wait:用于对象监视器(锁),释放锁,进入等待状态,等待被唤醒。需要在同步中使用。


3、sleep:在指定时候后自动唤醒;wait:需要其他线程显式调用notify或notifyAll来唤醒。


4、sleep和wait都可能抛出InterruptedException异常。

相关文章

  • 数据库出现死锁的案例

    报告生成案例: 报告编辑的时候:更新模板内容,更新报告引用的id。 报告生成的时候:更新报告引用的id,再更新模板内容。

    NEW个对象 2025-08-01

  • Java锁升级机制详解:偏向锁、轻量级锁、重量级锁是如何一步步升级的?

    Java中的synchronized并不是一开始就使用重量级锁。为了减少线程竞争带来的性能损耗,HotSpot JVM设计了锁升级机制。锁会根据竞争情况经历无锁 → 偏向锁 → 轻量级锁 → 重量级锁的升级过程。锁只能升级不能降级,从而保证线程安全并提高系统吞吐量。

    NEW个对象 2026-06-10

  • 线程同步与线程安全的区别?

    线程同步是指在多线程环境中,通过某种机制来协调多个线程对共享资源的访问,确保资源的访问顺序是有序和正确的。 线程安全是指多个线程访问同一资源时,不会出现数据错乱等问题;

    NEW个对象 2025-01-10

NEW个对象 NEW个对象
JAVA是世界上最好的语言

推荐文章