gpt4 book ai didi

Java队列和线程安全

转载 作者:行者123 更新时间:2023-11-30 03:56:32 25 4
gpt4 key购买 nike

我正在寻找一个不允许重复元素的队列(旧的重复元素总是被删除,并且在队列末尾添加新元素)。并且是线程安全的。第一个线程正在向队列添加元素,第二个线程正在读取和删除元素。标准 java 库或 guava/apache 中有什么有用的东西吗?

最佳答案

例如,您可以使用 Guava 的 Forwarding{,Blocking}{Queue,Deque}

然后您要做的就是将 HashSet 作为实现的一部分,您可以尝试从中尝试 .add() 新元素;如果 .add() 返回 false,则不添加到委托(delegate)。

当然,当您从队列中删除元素时,也不要忘记从集合中.remove()!

(假设这里的“重复”指的是“are .equals()”;另一方面,如果您使用 PriorityQueue,您将需要使用 TreeSet 代替)

关于Java队列和线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23041467/

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