我需要实现一个无锁的跳过列表。我试图找文件。不幸的是,我发现的是无锁单链表(多种口味)。但是如何实现无锁跳过列表?
答案 0 :(得分:15)
无锁跳过列表在书籍The Art of Multiprocessor Programming和技术报告Practical lock-freedom中有所描述,该书基于关于该主题的博士论文。跳过列表讨论从第53页开始。基于这些来源的示例实现包含在this google code project中。
SO问题Skip List vs. Binary Tree和Skip Lists - ever used them?中有相关的讨论,文献和实施的链接(不一定是无锁的)。
答案 1 :(得分:6)
This paper提供无锁且无等待的跳过列表。这很容易实现 - 几周前我作为Intel Threading Challenge 2010的一部分实现了这一点(参见页面中间的SkipList选项卡。)
Java包括并发跳过列表java.util.concurrent.ConcurrentSkipListMap的实现。