java 假唤醒_Java中的虚假唤醒真的发生了吗?

看到各种锁定相关的问题和(几乎)总是找到’循环因为虚假的唤醒’术语1我想知道,有没有人经历过这样的唤醒(假设一个像样的硬件/软件环境)?

我知道“虚假”一词意味着没有明显的理由,但这种事件的原因是什么?

(1注意:我不是在质疑循环练习.)

编辑:一个帮助问题(对于那些喜欢代码示例的人):

如果我有以下程序,我运行它:

public class Spurious {

public static void main(String[] args) {

Lock lock = new ReentrantLock();

Condition cond = lock.newCondition();

lock.lock();

try {

try {

cond.await();

System.out.println("Spurious wakeup!");

} catch (InterruptedException ex) {

System.out.println("Just a regular interrupt.");

}

} finally {

lock.unlock();

}

}

}

如果不等待一个随机事件,我可以做些什么来唤醒它等待虚假等待?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值