gpt4 book ai didi

java - CountDownLatch 是否受到虚假唤醒的影响?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:27 26 4
gpt4 key购买 nike

等待/通知和锁定/条件等并发管理机制似乎受到spurious wakeups的影响.开发人员通过重新检查条件是否确实发生了变化来应对这些意外唤醒。

就 CountDownLatch 而言,虚假唤醒是一个问题吗?

最佳答案

CountDownLatch#await() 的 javadoc州

If the current count is greater than zero then the current thread becomes disabled for thread scheduling purposes and lies dormant until one of two things happen:

  • The count reaches zero due to invocations of the countDown() method; or
  • Some other thread interrupts the current thread.

hibernate 表示该方法不会返回。换句话说,尽管可能会发生虚假唤醒,但它不会导致 await 方法返回。

你可以看看implementation看看这是如何完成的,但简而言之,这是循环和“等待”的典型技巧(通过 LockSuport#parkObject#wait 受虚假唤醒)直到满足条件。

When it comes to CountDownLatch, are spurious wakeups an issue?

没有。

关于java - CountDownLatch 是否受到虚假唤醒的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31573955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com