прочитать несколько файлов Excel и применить к ним процесс очистки

Ну, нет никакой двойной проверки блокировки для производительности. Это паттерна .

Оставляя эмоции в стороне, volatile здесь, потому что без него к тому времени, когда второй поток проходит instance == null, первая нить не может построить new Singleton() все же: никто не обещает, что создание объекта происходит до присваивания instance для любого потока, кроме фактически создающего объект.

volatile в свою очередь устанавливает происходит до отношения между чтением и записью и исправляет разбитый шаблон.

Если вы ищете производительность, используйте вместо этого внутренний статический класс.

1
задан fafa 28 March 2019 в 22:53
поделиться