如何实现无锁跳过列表

时间:2010-08-13 16:52:28

标签: algorithm lock-free skip-lists

我需要实现一个无锁的跳过列表。我试图找文件。不幸的是,我发现的是无锁单链表(多种口味)。但是如何实现无锁跳过列表?

2 个答案:

答案 0 :(得分:15)

无锁跳过列表在书籍The Art of Multiprocessor Programming和技术报告Practical lock-freedom中有所描述,该书基于关于该主题的博士论文。跳过列表讨论从第53页开始。基于这些来源的示例实现包含在this google code project中。

SO问题Skip List vs. Binary TreeSkip Lists - ever used them?中有相关的讨论,文献和实施的链接(不一定是无锁的)。

答案 1 :(得分:6)

This paper提供无锁且无等待的跳过列表。这很容易实现 - 几周前我作为Intel Threading Challenge 2010的一部分实现了这一点(参见页面中间的SkipList选项卡。)

Java包括并发跳过列表java.util.concurrent.ConcurrentSkipListMap的实现。