1
即时寻找一个队列,不允许重复的元素(旧的重复元素总是被删除,并在队列的末尾是一个新的元素添加一个新的元素)。并且是线程安全的。一个线程正在向队列添加元素,另一个线程正在读取和删除元素。 在标准java库或者在guava/apache中有用吗?Java队列和线程安全
即时寻找一个队列,不允许重复的元素(旧的重复元素总是被删除,并在队列的末尾是一个新的元素添加一个新的元素)。并且是线程安全的。一个线程正在向队列添加元素,另一个线程正在读取和删除元素。 在标准java库或者在guava/apache中有用吗?Java队列和线程安全
您可以使用,例如,番石榴的Forwarding{,Blocking}{Queue,Deque}
。
然后你会做什么也有一个HashSet
作为你的实施的一部分,你会尝试和.add()
新元素;如果.add()
返回false,则不要添加到委托。
而且,当你从队列中删除元素时,不要忘记从集合中删除.remove()
!
(这个假设,通过“复制”在这里,你的意思是“是.equals()”;如果在另一方面,你使用PriorityQueue
你想使用TreeSet
代替)
你说的是JMS队列? –
“不允许重复的元素”< - 根据什么标准? equals和hashCode? – fge