gpt4 book ai didi

java - ConcurrentLinkedQueue#poll() 会阻塞吗?

转载 作者:行者123 更新时间:2023-11-30 09:58:43 24 4
gpt4 key购买 nike

我的线程永远运行并在 ConcurrentLinkedQueue#peek() 之后调用 ConcurrentLinkedQueue#poll()。

但在某些情况下,线程似乎挂起。我知道这有点含糊但是人们可以为我确认方法 poll() 或 peek() 将 NEVER 阻止。谢谢。

最佳答案

据我所知,ConcurrentLinkedQueue是一个“无等待”的实现。

所以我必须假设每次对 poll()peek() 的独立调用都将从不阻塞

此集合上的原子操作是同步的,并且保证对队列的每个单独调用都是线程安全的。

一定是你的代码有问题。例如,如果您这样做:

Object obj;

if (queue.peek() != null)
obj = queue.poll()

不保证 obj 不会为 null

关于java - ConcurrentLinkedQueue#poll() 会阻塞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/564903/

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