java - Java中的无锁并发链表

标签 java concurrency linked-list

我想使用 this 中描述的链接列表。纸。 但是,我在网上没有找到任何 Java 实现。

如果不存在上述链接列表的 java 实现,我想,我会使用 java.util.concurrent.ConcurrentLinkedQueue<E> .这是一个不错的选择吗(它不是真正的链表)?

如果这不是一个好的选择,有没有人知道 Java 中可靠的并发(线程安全)无等待(无锁)链表实现?

最佳答案

ConcurrentLinkedQueue是一个极好的无锁队列,可以做并发单链表可以做的事情。 一个小警告:如果你不使用 poll 或 peek 而只使用 iterator() (+.remove()) 它会泄漏内存。

这是一个出色的Queue .

关于java - Java中的无锁并发链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724995/

相关文章:

java - 如何将数据加载到表中并清除之前加载的数据?

java - 如何在加载父页面之前加载子页面?

concurrency - Node.js 调试跟踪似乎暗示了多个执行线程——如何正确解释这一点?

c - 为链表数组分配内存

java - java 和 azure 流分析之间的区别

java - 我可以使用 Spring Boot 接收 gmail 中特定文件夹中的邮件吗

java - 获取定时任务的结果

java - Java IO 流中的同步方法

c - 如何释放链接列表中的信息?

python - 使用 Python 和哈希表查找链表末尾的第 n 个节点