...
Compliant Solution (GNU Glib, Hazard Pointers)
The According to [Michael 2004], the core idea is to associate a number (typically one or two) of single-writer, multireader multi-reader shared pointers, called hazard pointers. A , with each thread that intends to access lock-free dynamic objects. A hazard pointer either has a null value or points to a node that may be accessed later by that thread without further validation that the reference to the node is still valid. Each hazard pointer may be written only by its owner thread but may be read by other threads.
...