Java 中的无锁并发链表
我想使用像这篇论文中描述的链接列表。 但是我在网上没有找到任何Java实现。
如果不存在上述链接列表的java实现,我想,我会使用java.util.concurrent.ConcurrentLinkedQueue
。这是一个不错的选择吗(它并不是真正的链表)?
如果这不是一个好的选择,有谁知道Java中可靠的并发(线程安全)无等待(无锁)链表实现吗?
I would like to use a Linked List like the one described in this paper.
However, I didn't find any Java implementation in the web.
If no java implementation of the above mentioned Linked List exists, I think, I would use the java.util.concurrent.ConcurrentLinkedQueue<E>
. Is this a good choice (it is not really a linked list)?
If it's not a good choice, does anyone know of a reliable concurrent (thread-safe) wait-free(lock-free) Linked List implementation in Java?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ConcurrentLinkedQueue
是一个出色的无锁队列,可以完成并发单链表的功能。一个小警告:如果你不使用 poll 或 peek 而只使用 iterator() (+.remove()),它将泄漏内存。
这是一个出色的
队列
。ConcurrentLinkedQueue
is a superb lock free queue and does what a concurrent single linked list can do.A small warning: if you dont use poll or peek and only iterator() (+.remove()) it will leak memory.
It's an outstanding
Queue
.