Адзіночка толькі адзін асобнік ствараецца ў шматструменнасць

пры выкарыстанні Адзіночка, толькі адзін асобнік ствараецца ў шматструменнай?

Выкарыстанне класа потокобезопасны адзіночкі будуць гарантаваць, што толькі адзін асобнік ствараецца.

грамадскага абаронены клас Singleton
{
прыватных статычных Сінглтан Сінглтан = NULL;
прыватны статычны чытання аб'ект singletonLock = новы аб'ект();

прыватны Сінглтан() {}
грамадскасці статычнай Сінглтан GetInstance()
{
замкнуць (singletonLock)
{
калі (Сінглтан == NULL)
{
Сінглтан = новы Сінглтан();
}
вяртанне Сінглтан ;
}
}
}

Выпуск будзе падымаць толькі тады, калі стварэнне першай інстанцыі.

Выкарыстанне блакавання() забяспечыць нам Потокобезопасная, каб пазбегнуць выканання дзвюх патокаў на адным і тым жа часу для стварэння асобніка.

Зноў мы праверкі (singletonobject == NULL) таму ён будзе гарантаваць, што толькі адзін раз асобнік будзе створаны.

Двайны апцыён праверка будзе поўнае доказ нашага класа.

Напісаць адказ

Вы можаце выкарыстоўваць гэтыя HTML тэгі

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>