Каков предпочтительный способ работы с классом Singleton в многопоточной среде?
Предположим, что у меня есть 3 потока, и все они пытаются получить доступ к методу getInstance()
для одноэлементного класса в то же время -
- Что произойдет, если синхронизация не будет сохранена?
- Хорошо ли использовать метод
synchronized
getInstance()
или использовать блокsynchronized
внутриgetInstance()
.
Пожалуйста, сообщите, есть ли другой выход.