Live briefing
Everything about Hazard pointer
Concurrency-protecting pointer owned by one thread at most at a time
Hazard pointers, in a multithreaded computing environment, are one approach to solving the problems posed by dynamic memory management of the nodes in a lock-free data structure. These problems generally arise only in environments that don't have automatic garbage collection. Although they are a pointer type, they are not smart pointers. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Hazard pointerA 5-minute orientation
- Pick up a classic book: Arid ecologyThe most-reprinted book on the subject
- Go sideways: ABA problemA closely related topic
- Go sideways: CtrieA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
No outline available.
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
- 📕Arid ecologyS. C. Kalwar, M. K. Khandelwal · 1999
- 📕A Green laser pointer hazardJemellie Galang · 2010
- 📕Ecological Hazards in the HimalayasS.K. Chadha · 1989
- 📕Industrial and Hazardous Wastes. Health Impacts and Management PlansRajiv K. Sinha · 2004
The go-girl guideJulia Bourland · 2000
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- ABA problem In multithreaded computing, the ABA problem occurs during synchronization, when a location is read twice, has the same value for both reads, and the read…
- Ctrie A concurrent hash-trie or Ctrie is a concurrent thread-safe lock-free implementation of a hash array mapped trie. It is used to implement the concurrent…
- Non-blocking linked list A non-blocking linked list is an example of non-blocking data structures designed to implement a linked list in shared memory using synchronization primitives:…
- Reference counting In computer science, reference counting is a programming technique of storing the number of references, pointers, or handles to a resource, such as an…
- C dynamic memory allocation C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in the C programming language via a group of functions…
- Smart pointer In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management…
- Treiber stack The Treiber stack algorithm is a scalable lock-free stack utilizing the fine-grained concurrency primitive compare-and-swap. It is believed that R. Kent…
- Persistent memory In computer science, persistent memory is any method or apparatus for efficiently storing data structures such that they can continue to be accessed using…