Подтвердить что ты не робот

Параллельная чередующаяся очередь приоритетов

Существует ли параллельная очередь приоритетных приоритетов? В идеале, я ищу реализацию С++, но для начала было бы очень полезно указатель на алгоритм.

Чтобы быть ясным, я ищу очередь с приоритетом, где я могу настроить приоритеты элементов. В частности, TBB concurrent_priority_queue не обеспечивает необходимой функциональности. (Иначе, STL priority_queue, даже если мы игнорируем concurrency.) Библиотека Boost.Heap предоставляет последовательные функции, которые я хотите, но без concurrency. Естественно, я ищу что-то более зернистое, чем просто блокирование всей очереди при каждой операции.

4b9b3361

Ответ 1

Параллельная очередь приоритетов часто реализуется с использованием skiplist, поэтому Facebook ConcurrentSkipList может соответствовать вашим требованиям.