Я только что прочитал это сообщение в блоге о рецепте ленивой инициализации свойства объекта . Я занимаюсь восстановлением java-программиста, и если бы этот код был переведен на java, это считалось бы состоянием гонки (блокировка двойной проверки). Почему это работает на питоне? Я знаю, что в Python есть модуль потоковой передачи. Добавляет ли интерпретатор тайно блокировки, чтобы сделать это потокобезопасным?
Как выглядит каноническая поточно-безопасная инициализация в Python?