Options to correct the incorrect queue

What should we do? Well, it turns out there's lots of options in the literature. Hart, McKenney, Brown and Walpole's 2007 Performance of Memory Reclamation for Lockless Synchronization discusses four, along with references to their originating papers:

  • Quiescent-state-based reclamation (QSRB): The application's signal quiescent'periods in which reclamation is allowed

  • Epoch-based reclamation (EBR): The applications make use of structures that determine when reclamation is allowed by moving memory through epochs

  • Hazard-pointer-based reclamation (HPBR): Threads cooperate and signal pointers as being hazardous for reclamation

  • Lock-free reference counting (LFRC): Pointers carry an atomic counter of ...

Get Hands-On Concurrency with Rust now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.