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

C++ 排序原子链表算法(优先级队列),c++,c,algorithm,C++,C,Algorithm,有人能告诉我一个排序线程安全原子(无锁)链表/优先级队列的算法吗?我知道如何只做一个链表本身,但现在我需要一个排序。与未排序的列表相比,我不确定这是否是一个微小的更改或重大的重新设计,因此我希望在创建自己的算法之前看到一个现有的算法 它实际上不需要是一个列表(或从技术上讲是排序的),但其行为类似于具有以下属性的优先级队列: 最低元素是具有最小整型字段值的元素 在恒定时间内访问最低元素 仅通过原子操作进行修改(无锁) 线性时间内的插入/删除 内容可能是指向结构的指针。要排序的整数字段是该结构的

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

它实际上不需要是一个列表(或从技术上讲是排序的),但其行为类似于具有以下属性的优先级队列:

  • 最低元素是具有最小整型字段值的元素
  • 在恒定时间内访问最低元素
  • 仅通过原子操作进行修改(无锁)
  • 线性时间内的插入/删除
内容可能是指向结构的指针。要排序的整数字段是该结构的成员之一


<>这是一个C++程序,但我不需要代码示例,算法描述很好。接近但不完美的算法也受到赞赏。

看看这个:“。谷歌搜索肯定会给你更多的链接。

如果你只需要最小元素,你似乎需要一个原子优先级队列。不过,这仍然是一个有趣的问题,我很好奇答案是什么。是的,优先级队列可能更接近我的逻辑要求。我已经更新了描述。我正要将那篇文章发布到。更直接的链接: