Без одновременного использования одного случая:
общественного запечатанный класс Singleton { частный статический Singleton l_singleton; общественности статической Singleton GetSingleton () { если (l_singleton == NULL ) { l_singleton = новый Синглтон (); } Вернуть l_singleton; } }
В условиях происходит одновременно, следующие могут быть использованы по отдельности Пример:
общественного запечатанный класс Singleton { частный статический Singleton l_singleton; частный чтение статического объекта l_obj = новый объект (); общественности статической Singleton GetSingleton () { если (l_singleton == NULL ) { блокировка (l_obj) { если (l_singleton == NULL ) { l_singleton = новый Синглтон (); } } } Вернуть l_singleton; } }