Thread-safe List-based Set

Implementing a find-grained locking mechanism is a bit hard in data structures such as linked list and tree. The main reason is dynamic allocation of nodes. We can utilize a locking technique called hand-over-hand locking. The main idea is to lock two mutexes simultaneously.

More …