при використанні Одинак, тільки один екземпляр створюється в багатопотокової?
Використання класу потокобезпечна одинаки будуть гарантувати, що тільки один екземпляр створюється.
громадського захищений клас Singleton
{
приватних статичних Сінглтон Сінглтон = NULL;
приватний статичний читання об'єкт singletonLock = новий об'єкт();
приватний Сінглтон() {}
громадськості статичної Singleton GetInstance()
{
замкнути (singletonLock)
{
якщо (Сінглтон == NULL)
{
Сінглтон = новий Сінглтон();
}
повернення Сінглтон ;
}
}
}
Випуск буде піднімати тільки тоді, коли створення першої інстанції.
Використання блокування() забезпечить нам потокобезпечна, щоб уникнути виконання двох потоків на одному і тому ж часу для створення екземпляра.
Знову ми перевірки (singletonobject == NULL) тому він буде гарантувати, що тільки один раз екземпляр буде створений.
Подвійний опціон перевірка буде повний доказ нашого класу.
Написати відповідь