是否有一个并发的可变优先队列?理想情况下,我正在寻找一个C++实现,但是,首先指向算法的指针将非常有帮助。
明确一点,我正在寻找一个可以调整元素优先级的优先队列。特别是,TBB的concurrent_priority_queue
没有提供必要的功能。(就算我们忽略并发性,STL的priority_queue
也不提供必要的功能。) Boost.Heap库提供了我想要的串行功能,但没有并发性。自然地,我正在寻找比每个操作都锁定整个队列更精细的东西。
是否有一个并发的可变优先队列?理想情况下,我正在寻找一个C++实现,但是,首先指向算法的指针将非常有帮助。
明确一点,我正在寻找一个可以调整元素优先级的优先队列。特别是,TBB的concurrent_priority_queue
没有提供必要的功能。(就算我们忽略并发性,STL的priority_queue
也不提供必要的功能。) Boost.Heap库提供了我想要的串行功能,但没有并发性。自然地,我正在寻找比每个操作都锁定整个队列更精细的东西。
并发优先级队列通常使用跳表实现,因此Facebook的ConcurrentSkipList可能符合您的要求。