Live briefing
Everything about Double-checked locking
Software design pattern
In software engineering, double-checked locking is a software design pattern used to reduce the overhead of acquiring a lock by testing the locking criterion before acquiring the lock. Locking occurs only if the locking criterion check indicates that locking is required. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Double-checked lockingA 5-minute orientation
- Pick up a classic book: Winsor McCayThe most-reprinted book on the subject
- Go sideways: Singleton patternA closely related topic
- Go sideways: Initialization-on-demand holder idiomA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Winsor McCayWinsor McCay · 2003
Tactical Lock PickingPat Watson · 2019
The Conspirators HierarchyJohn Coleman · 1992
The total skywatcher's manualLinda Shore · 2015
Diesel engine maintenance training manual, U.S. Navy. February, 1946United States. Navy Dept. Bureau of Ships. · 1946
GokuSean stubenrauch · 2017
Mysteries in Bamboo VillageOpeyemi matthew adejobi · 2015
The Human Planet · 2009
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Singleton pattern In object-oriented programming, the singleton pattern is a software design pattern that restricts the instantiation of a class to a singular instance.…
- Initialization-on-demand holder idiom In software engineering, the initialization-on-demand holder (design pattern) idiom is a lazy-loaded singleton. In all versions of Java, the idiom enables…
- Volatile (computer programming) In computer programming, a variable is said to be volatile if its value can be read or modified asynchronously by something other than the current thread…
- Java syntax The syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike C++…
- Object pool pattern The object pool pattern is a software creational design pattern that uses a set of initialized objects kept ready to use – a "pool" – rather than allocating…
- Lazy initialization In computer programming, lazy initialization is the tactic of delaying the creation of an object, the calculation of a value, or some other expensive process…
- Thread-local storage In computer programming, thread-local storage (TLS) is a memory management method that uses static or global memory local to a thread. The concept allows…
- Multiton pattern In software engineering, the multiton pattern is a design pattern which generalizes the singleton pattern. Whereas the singleton allows only one instance…