Sorted atomic list algorithm (priority queue)

Can someone point me to an algorithm for a sorted thread-safe atomic (loose) linked list / priority queue? I know how to make only a linked list, but now I need one that is sorted. I'm not sure if these are minor changes or a significant redesign compared to an unsorted list, so I would like to see the existing algorithm before I make my own.

Actually, this should not be a list (or technically sorted), but it behaves like a priority queue with these properties:

  • minor element is a number with a minimum integer field value
  • constant access to the minimum element
  • only using atomic operations (no locks)
  • linear insertion / deletion

Content is likely to be a pointer to structures. An integer sort field is one of the members of this structure.

This is for a C ++ program, but I do not need code examples, the description of the algorithm is in order. Algorithms that are approaching but not perfect are also welcome.

+6
c ++ c algorithm
source share
1 answer

Look at this: " Fast and blocked parallel priority queues for Multi-Thread Systems ." Googling will give you more links.

+5
source share

All Articles