при использовании паттерна одиночка, только один экземпляр создается в многопоточной обработки данных?
Использование потока одноэлементного класса гарантирует, что только один экземпляр создается.
общественных запечатанный класс Singleton
{
частных статических Синглтон одноплодной = NULL;
частный статический объект чтения singletonLock = новый объект();
частных Синглтон() {}
общественности статической Синглтон GetInstance()
{
Блокировка (singletonLock)
{
если (одноплодной == NULL)
{
одноплодной = новый Синглтон();
}
возвращения одноэлементного ;
}
}
}
Выпуск поднимет только при создании первой инстанции.
Использование блокировки() даст нам потокобезопасными, чтобы избежать выполнения двух потоков в то же время, чтобы создать экземпляр.
Мы снова проверяют (singletonobject == NULL) таким образом это будет гарантией того, что только один раз, будет создан экземпляр.
двойной опцион чек будет полное доказательство нашего класса.
Написать ответ