排序原子链表算法(优先级队列)

时间:2011-03-26 06:41:36

标签: c++ c algorithm

有人可以指向一个排序线程安全原子(无锁)链表/优先级队列的算法吗?我知道如何只做链接列表本身,但现在我需要一个已排序的。与未排序的列表相比,我不确定这是微小的变化还是重大的重新设计,因此我希望在创建自己的算法之前看到现有的算法。

它实际上不必是列表(或技术上已排序),但行为类似于具有以下属性的优先级队列:

  • 最低元素是具有最小整数字段值
  • 的元素
  • 以恒定时间访问最低元素
  • 仅通过原子操作进行修改(无锁)
  • 以线性时间插入/移除

内容可能是指向结构的指针。要排序的整数字段是该结构的成员之一。

这适用于C ++程序,但我不需要代码示例,算法描述也没问题。接近但不完美的算法也很受欢迎。

1 个答案:

答案 0 :(得分:5)

看看这个:“Fast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems”。谷歌搜索将为您提供更多链接。