Lock-free

Group of algorithms with lock-free progress condition.


File Index

File Description Linearizable Lock-free SMR-required Unbounded-Queue
vsync/map/hashtable_standard.h This is a lock-free listset based hashtable. ✔ ✔ ✔ ❌
vsync/map/listset_lf.h Lock-free implementation of listset. ✔ ✔ ✔ ❌
vsync/map/simpleht.h Simple lock-free hashtable. ✔ ✔ ❌ ❌
vsync/map/skiplist_lf.h Lock-free concurrent skiplist. ✔ ✔ ✔ ❌
vsync/queue/bounded_spsc.h Single-producer, single-consumer, wait-free bounded queue. ✔ ✔ ❌ ❌
vsync/queue/chaselev.h Chase-Lev Work-Stealing bounded deque. ❌ ✔ ❌ ❌
vsync/queue/unbounded_queue_lf.h Lock-free unbounded queue. ✔ ✔ ✔ ✔
vsync/queue/unbounded_queue_lf_recycle.h Lock-free recycle unbounded queue. ✔ ✔ ❌ ✔
vsync/queue/vqueue_prio_skiplist_based.h Skiplist-based priority queue implementation. ✔ ✔ ✔ ✔
vsync/queue/vqueue_prio_stack_array_based.h Array-based bounded priority queue. ✔ ✔ ✔ ✔
vsync/stack/elimination_stack.h Unbounded lock-free stack with elimination backoff. ✔ ✔ ✔ ❌
vsync/stack/quack.h Lockfree concurrent stack/queue (Treiber stack) ✔ ✔ ❌ ❌
vsync/stack/xbo_stack.h Unbounded lock-free stack with exponential backoff. ✔ ✔ ✔ ❌