Padrão Singleton apenas uma instância é criada no Multi Threading

enquanto usando o padrão singleton, apenas uma instância é criada em multi threading?

Usando threadsafe classe singleton garante que apenas uma instância é criada.

public sealed class Singleton
{
private static Singleton singleton = null;
private static readonly objeto singletonLock objeto = new();

Singleton privada() {}
public static Singleton GetInstance()
{
fechadura (singletonLock)
{
se (singleton == null)
{
singleton = new Singleton();
}
retorno singleton ;
}
}
}

Questão irá aumentar apenas quando a criação de primeira instância.

Usando o bloqueio de() nos dará o fio de segurança para evitar a execução de duas threads em um mesmo tempo para criar instância.

Mais uma vez estamos verificando a (singletonobject == null) por isso vai garantir que apenas uma instância será criada uma vez.

opção de verificação dupla será uma prova completa para a nossa classe.

Deixe uma resposta

Você pode usar estes tags HTML

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