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