In software engineering, double-checked locking is a software design pattern also known as "double-checked locking optimization". The pattern is designed to reduce the overhead of acquiring a lock by first testing the locking criterion (the "lock hint") in an unsafe manner; only if that succeeds does the actual lock proceed. The pattern, when implemented in some language/hardware combinations, can be unsafe. It can therefore sometimes be considered to be an anti-pattern.
| Property | Value |
| dbpprop:abstract
|
- In software engineering, double-checked locking is a software design pattern also known as "double-checked locking optimization". The pattern is designed to reduce the overhead of acquiring a lock by first testing the locking criterion (the "lock hint") in an unsafe manner; only if that succeeds does the actual lock proceed. The pattern, when implemented in some language/hardware combinations, can be unsafe. It can therefore sometimes be considered to be an anti-pattern. It 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.
- En génie logiciel, le verrouillage à double test ou double-checked locking est un ancien patron de conception. Considéré aujourd'hui comme un antipattern du fait des problèmes subtils et difficiles à déceler qu'il pose, il a été utilisé dans le passé pour réduire le surcoût d'acquisition du verrou nécessaire à l'initialisation tardive d'un singleton, en commençant par vérifier l'objet du verrou sans précaution avant, ensuite, de poser effectivement le verrou.
- L'interblocco ricontrollato o Double Checked Locking è uno dei più subdoli antipattern della programmazione concorrente, principalmente in Java. A prima vista sembra un utile strumento per migliorare le prestazioni, tuttavia sotto le regole dell'attuale JavaMemoryModel questo schema non funziona.
- Blokada z podwójnym zatwierdzeniem (ang. double-checked locking lub double-checked locking optimization) - to w inżynierii oprogramowania wzorzec projektowy stworzony w celu redukcji czasu uzyskania blokady poprzez testowanie najpierw warunku blokady (ang. lock hint) w sposób niebezpieczny, a potem dopiero - tylko w razie sukcesu - przeprowadzanie całego procesu uzyskiwania blokady. Taki wzorzec jest niebezpieczny, bo może być (w zależności od pewnych konfiguracji językowo-sprzętowych) antywzorcem. Jego typowe użycie to redukcja czasu uzyskiwania blokady poprzez zastosowanie wzorca leniwej inicjalizacji w wielowątkowym środowisku, szczególnie jako część wzorca singletonu. Leniwa inicjalizacja ma na celu unikanie czasochłonnej inicjalizacji zmiennej aż do momentu jej pierwszego użycia.
- Double checked locking (блокировка с двойной проверкой) — шаблон проектирования применяющийся в параллельном программировании. Он предназначен для уменьшения накладных расходов, связанных с получением блокировки. Сначала проверяется условие блокировки без какой-либо синхронизации; поток делает попытку получить блокировку только если результат проверки говорит о том, что ни один другой поток не владеет блокировкой. На некоторых языках и/или на некоторых машинах невозможно безопасно реализовать данный шаблон. Поэтому иногда его называют анти-паттерном. Обычно он используется для уменьшения накладных расходов при реализации ленивой инициализации в многопоточных программах, например в составе шаблона проектирования Одиночка. При ленивой инициализации переменной, инициализация откладывается до тех пор, пока значение переменной действительно понадобится при вычислениях.
|
| dbpprop:hasPhotoCollection
| |
| dbpprop:reference
| |
| rdf:type
| |
| rdfs:comment
|
- In software engineering, double-checked locking is a software design pattern also known as "double-checked locking optimization". The pattern is designed to reduce the overhead of acquiring a lock by first testing the locking criterion (the "lock hint") in an unsafe manner; only if that succeeds does the actual lock proceed. The pattern, when implemented in some language/hardware combinations, can be unsafe. It can therefore sometimes be considered to be an anti-pattern.
- En génie logiciel, le verrouillage à double test ou double-checked locking est un ancien patron de conception. Considéré aujourd'hui comme un antipattern du fait des problèmes subtils et difficiles à déceler qu'il pose, il a été utilisé dans le passé pour réduire le surcoût d'acquisition du verrou nécessaire à l'initialisation tardive d'un singleton, en commençant par vérifier l'objet du verrou sans précaution avant, ensuite, de poser effectivement le verrou.
- L'interblocco ricontrollato o Double Checked Locking è uno dei più subdoli antipattern della programmazione concorrente, principalmente in Java. A prima vista sembra un utile strumento per migliorare le prestazioni, tuttavia sotto le regole dell'attuale JavaMemoryModel questo schema non funziona.
- Blokada z podwójnym zatwierdzeniem (ang. double-checked locking lub double-checked locking optimization) - to w inżynierii oprogramowania wzorzec projektowy stworzony w celu redukcji czasu uzyskania blokady poprzez testowanie najpierw warunku blokady (ang. lock hint) w sposób niebezpieczny, a potem dopiero - tylko w razie sukcesu - przeprowadzanie całego procesu uzyskiwania blokady.
- Double checked locking (блокировка с двойной проверкой) — шаблон проектирования применяющийся в параллельном программировании. Он предназначен для уменьшения накладных расходов, связанных с получением блокировки.
|
| rdfs:label
|
- Double-checked locking
- Double-checked locking
- Interblocco ricontrollato
- Blokada z podwójnym zatwierdzeniem (wzorzec projektowy)
- Double checked locking
|
| owl:sameAs
| |
| skos:subject
| |
| foaf:page
| |
| is dbpprop:redirect
of | |
| is owl:sameAs
of | |