IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Singleton et multithread


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut Singleton et multithread
    Re,
    Dans une page .jsp j'utilise une méthode statique qui attend un parametre en entrée. Cette méthode statique appartient à une classe basée sur le pattern Singleton.
    Sachant que mes servlets qui redirigent vers les .jsp sont non thread safe (n'implementent pas SingleThreadModel) faut-il que je 'synchronized' ma méthode pour éviter qu'un utilisateur se retrouve avec le traitement d'un parametre qui ne serait pas le sien ?
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Ma formulation n'était pas des meilleures au vue des réponses enregistrées.
    Je tente une autre formulation :
    Les applications J2ee sont multi-thread (1 requete http = 1 thread).

    Pour éviter toute instanciation multiple même par différents threads d'une classe , qui implemente le modéle singleton, faut-il utilsée le mot-clé synchronized sur la méthode de création :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public final synchronized static Singleton getInstance() {

    ou mieux sans aucun surcoût lié à la synchronisation avec une classe statique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      private static class ChargeurALaDemande {
            private static final Singleton instance = new Singleton();
        }
    Merci de vos réponses .
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  3. #3
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Bonjour,

    la deuxième solution est pas mal (sauf que si tous est priver on risque pas d'y accéder )
    ca évite en effet de devoir synchroniser la méthode de création c'est le chargement de la classe qui s'en occupe ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Singleton et multithreading
    Par alladdin dans le forum Langage
    Réponses: 8
    Dernier message: 29/07/2010, 23h31
  2. [Singleton] singleton et multithreading
    Par behess dans le forum Design Patterns
    Réponses: 17
    Dernier message: 24/09/2009, 18h33
  3. Singleton et Multithreading
    Par behess dans le forum C#
    Réponses: 22
    Dernier message: 09/09/2009, 11h09
  4. Singleton et multithreading
    Par Alp dans le forum C++
    Réponses: 17
    Dernier message: 06/08/2006, 02h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo