Чи безпечно подвійне перевірка замку?
В інженерії програмного забезпечення подвійний контроль (також відомий як "подвійний контроль оптимізації замку") - це шаблон розробки програмного забезпечення, який використовується для зменшення навантаження на придбання замку шляхом тестування критерію замку ( "наказ замку") перед придбанням замку. Замкнення відбувається тільки в тому випадку, якщо перевірка критеріїв замку вказує на необхідність замку.

Модель, коли вона реалізується в деяких комбінаціях мови / апаратного забезпечення, може бути небезпечною. Іноді його можна вважати антипатентом.

Він зазвичай використовується для зменшення перекриття при впровадженні "лінивої ініціалізації" в середовищі з кількома нитками, особливо як частина шаблону Singleton. Ледача ініціалізація уникає ініціалізації значення до першого разу, коли до нього доступ.
Подвійна перевірка замку може бути небезпечною в деяких ситуаціях і іноді вважається антипатерном. Однак це можна зробити безпечним способом.