Double-checked locking
Design pattern only locking if the locking criterion check indicates that locking is required
In software engineering, double-checked locking (also known as "double-checked locking optimization") is a software design pattern used to reduce the overhead of acquiring a lock by testing the locking criterion (the "lock hint") before acquiring the lock. Locking occurs only if the locking criterion check indicates that locking is required.
Nº Q2712542 ★
Común · Historia
Double-checked locking
Design pattern only locking if the locking criterion check indicates that locking is required
In software engineering, double-checked locking (also known as "double-checked locking optimization") is a software design pattern used to reduce the overhead of acquiring a lock by testing the locking criterion (the "lock hint") before acquiring the lock. Locking occurs only if the locking criterion check indicates that locking is required.
En Wikipedia
Texto en inglés Aún no hay artículo en tu idioma: extracto en inglés.
In software engineering, double-checked locking (also known as "double-checked locking optimization") is a software design pattern used to reduce the overhead of acquiring a lock by testing the locking criterion (the "lock hint") before acquiring the lock. Locking occurs only if the locking criterion check indicates that locking is required. The original form of the pattern, appearing in Pattern Languages of Program Design 3, has data races, depending on the memory model in use, and it is hard to get right. Some consider it to be an anti-pattern. There are valid forms of the pattern, including the use of the volatile keyword in Java and explicit memory barriers in C++. The pattern is typically used to reduce locking overhead when implementing "lazy initialization" in a multi-threaded environment, especially as part of the Singleton pattern. Lazy initialization avoids initializing a value until the first time it is accessed.
Texto: Wikipedia en inglés, CC BY-SA 4.0. ·
Cartas cercanas
-
R
Reactor (patrón de diseño)
Nº Q1122024 ★
Sin ofertas
-
C
Circuit breaker design pattern
Behavioral design pattern in software development
Nº Q5121595 ★
Sin ofertas
-
Service locator pattern
Software pattern to dynamically control the loading of objects at run-time via a central registry object.
Nº Q7455762 ★
Sin ofertas
-
Double Ratchet Algorithm
Cryptographic key management algorithm
Nº Q22079944 ★
Sin ofertas
-
Dynamic logic (digital electronics)
Design methodology in combinatorial logic circuits
Nº Q2351326 ★
Sin ofertas
-
Inyección de dependencias
Nº Q635336 ★★★
Sin ofertas