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 :

variable locale dans une Application multithreading


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par d�faut variable locale dans une Application multithreading
    Bonjour,

    Je suis d�butant de tous ce qui est multithreading .

    Je travail actuellement sur une application multithreading et j'ai rencontrer un petit souci :

    J'ai une variable status (true si thread x est en cours sinon false), ou moment de la connexion d'un client (maClass extends Thread) j'initialise cette variable a True et j'execute mes traitements.

    Quand le client deconnecte je possitionne status a False et je ferme toute la connexion avec mon serveur.

    Mon probleme apparaitre avec plusieurs utilisateurs, une fois le client 1 deconnecte tous les autres threads (des autres clients) se trouvent avec une valeur false de la variable status.

    voici mon code :
    servlet.java
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .......
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    m_codage = new Codage();
    m_presentation = new Presentation(m_codage); // instance de la classe presentation
     
    ............. traitements
    m_presentation.disconnect();
    }
    La classe Presentation :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public class Presentation extends Thread{
    private boolean status;
     
    public Presentation(Codage local_Codage){
     status = true;
     start();
     }
     
    //main loop
    public void run()
        {
         while (status){
         ***********************************
          Connexion avec le serveur et recuperation des données.
         ***********************************
          }
         }
     
    public void disconnect(){
            informer le client.
            ** afficher status
            status = false;
         }
    Remarque : j'ai essai d'afficher status chaque deconnexion et le resultat avec 4 client :
    true
    false
    false
    false

    Voila, voila j'esp�re que j'ai bien detaill� mon probl�me.
    Merci d'avance.

  2. #2
    Membre chevronn� Avatar de florentB
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    D�cembre 2006
    Messages
    332
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Java

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 332
    Par d�faut
    les variables m_codage et m_presentation que tu utilises dans ta servlet, ce sont des attributs de classes ou elles sont d�finies dans ta m�thode ?
    Si ce sont des variables d'instance, d�clare les dans ta m�thode ... c'est juste une id�e comme ca ...

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par d�faut
    Je te remercie de ta r�ponse,

    m_codage et m_presentation sont des instances de la classe Codage te Presentation.
    m_codage : pour recuperer le type de codage de chaque client (plusieurs param�tres associes).
    m_presentation : pour ouvrir le connexion avec le serveur + manipuler les donn�es et les envoyer vers le client (pages web).

    mon probleme est la variable status de la classe Presentation.

  4. #4
    Membre chevronn� Avatar de florentB
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    D�cembre 2006
    Messages
    332
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Java

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 332
    Par d�faut
    Je ne vois pas d'ou cela peut venir.
    Cependant, il y a peut etre une methode qui pourrait t'int�resser au niveau de la classe Thread. isAlive(). Cette m�thode te renvoie true � partir du moment ou le thread est en cours d'execution, false sinon (pas encore lanc� ou thread mort).
    J'esp�re que cela pourra t'aider quand meme.

Discussions similaires

  1. Variables globales dans une application ?
    Par Foxie dans le forum D�buter
    R�ponses: 4
    Dernier message: 07/11/2009, 13h56
  2. [MySQL] variable session dans une application
    Par cheik_koita dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 27/02/2009, 10h36
  3. R�ponses: 14
    Dernier message: 08/05/2008, 16h13
  4. [Syntaxe] Variable locale dans une boucle for
    Par Kaeguri dans le forum C++
    R�ponses: 3
    Dernier message: 04/05/2007, 09h09
  5. R�ponses: 2
    Dernier message: 08/04/2007, 22h24

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