IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Sommaire > Design patterns
        Singleton MonoThread
        Singleton avec initialiseur static
        Singleton synchronisé sur getInstance()
        Singleton avec ThreadLocal

        


Auteur : christophej
Version : 15/02/2005
Page de l'auteur
Singleton MonoThread

import java.util.* ; class Singleton{ private static Singleton instance; private List maList; private boolean etat; private Singleton(){ maList= new ArrayList(); etat = true; } public static Singleton getInstance(){ if (instance==null) instance=new Singleton(); return instance; } }

Auteur : christophej
Version : 15/02/2005
Page de l'auteur
Singleton avec initialiseur static
Exemple de Singleton avec initialiseur static. Pour plus d'informations :

import java.util.* ; class Singleton{ private static Singleton instance= new Singleton(); private List maList; private Boolean etat; private Singleton(){ maList= new ArrayList(); etat = true; } public static Singleton getInstance(){ return instance; } }

Auteur : christophej
Version : 15/02/2005
Page de l'auteur
Singleton synchronisé sur getInstance()
Exemple de singleton utilisable en multithread. Pour plus d'informations :

import java.util.* ; class Singleton{ private static Singleton instance; private List maList; private boolean etat; private Singleton(){ maList= new ArrayList(); etat = true; } public static synchronized Singleton getInstance(){ if (instance==null) instance=new Singleton(); return instance; } }

Auteur : christophej
Version : 15/02/2005
Page de l'auteur
Singleton avec ThreadLocal
Exemple de singleton utilisable en multithread. Pour plus d'informations :

public class ThreadLocalSingleton{ private static ThreadLocal initHolder = new ThreadLocal() private static ThreadLocalSingleton instance=null; public static ThreadLocalSingleton getInstance(){ if (initHolder.get() == null){ synchronized{ if (instance== null) instance = new ThreadLocalSingleton(); initHolder.set(Boolean.TRUE); } } return instance; } }

        

Tous les codes sources fournis gratuitement ici sont soumis à la licence GNU LGPL traduite en français ici. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.