Нет, это не синглтон - каждый может создать несколько его экземпляров. (Оставляя в стороне проблему переполнения стека, которая уже была поднята, и тот факт, что вы используете двойную проверку блокировки небезопасно.)
Одной из отличительных особенностей одноэлементного типа является то, что он предотвращает создание более одного экземпляра самого себя.
Из википедии Шаблон Singleton Артикул:
В разработке программного обеспечения, синглтон
шаблон это шаблон дизайна, который
используется для ограничения реализации
класс для одного объекта.
Из хранилище шаблонов Уорда Каннингема :
Синглтон - это комбинация двух
Основные свойства:
- Убедитесь, что у класса есть только один экземпляр
- Предоставить глобальную точку доступа к ней
Очевидно, ваш синглтон не соответствует обоим этим определениям.
См. Мою единственную статью для реальных реализаций.