tout en utilisant le modèle singleton, une seule instance est créée en multi threading?
En utilisant la classe Singleton threadsafe garantira qu'une seule instance est créée.
publics fermés classe Singleton
{
private static Singleton Singleton = null;
private static readonly objet singletonLock = nouvel objet();
privés Singleton() {}
public static Singleton GetInstance()
{
verrouillage (singletonLock)
{
si (Singleton == null)
{
Singleton = new Singleton();
}
retour Singleton ;
}
}
}
Numéro élèvera uniquement lorsque la création de première instance.
Utilisation du verrouillage() va nous fournir le fil de sécurité pour éviter l'exécution de deux threads à un même temps de créer une instance.
Encore une fois nous vérifions les (singletonobject == null) il garantira que seuls instance une fois sera créé.
option de double contrôle sera la preuve complète pour notre classe.
Laisser un commentaire