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

Java Discussion :

Récupérer la valeur d'une variable d'un Thread en temps réel..?


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Cimentage
    Inscrit en
    Septembre 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Cimentage
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2014
    Messages : 44
    Par défaut Récupérer la valeur d'une variable d'un Thread en temps réel..?
    Bonsoir à tous,

    Je viens à vous car cette fois-ci, je suis confronté à un grand point d'interrogation..!

    Je me demande comment faire pour récupérer la variable d'un Thread en temps réel, je m'explique :

    Voici mon Thread :

    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
     
    public class Test extends Thread{
     
    int VARIABLE = 0;
     
    public void run(){
     
    try{
    Thread.sleep(30);
    }catch (InterruptedException IE) { IE.printStackTrace(); }
     
    for ( int x = 10; MAVARIABLE < x ; MAVARIABLE++ ){
    System.out.println("Valeur interne : "+MAVARIABLE );
    }
     
    public int getVar(){ 
    return MAVARIABLE; 
    }
     
    }
    }
    Et je voudrais, en temps réelle dans une boucle, récupérer et afficher la valeur de MAVARIABLE grâce à son Getter getVar() dans ma classe Main cette fois-ci..!

    Voici ma Main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Main{
     
    public static void main(String[] args) {
     
    Test T = new Test();
    Thread TH = new Thread(T);
    TH.start();
     
    for ( i = 0 ; i < 10 ; i++){
    System.out.println("Variable contenue dans le Thread : "+T.getVar());
    }
     
    }
    Ma variable s'incrémente dans la méthode run() du Thread mais je n'arrive pas à la récupérer pour l'afficher dans ma classe Main... comment faire ?

    Merci à vous, bise à tous !

  2. #2
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Bonsoir,

    Tu peux utiliser le design pattern Observer où ton thread jouerait le rôle d'Observable, ainsi à chaque variation de ta valeur tu pourras notifier les observers.
    Voici un tutoriel developpez pour te guider : http://gscheibel.developpez.com/articles/observer/
    Ce dernier utilise lui aussi les threads.

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Membre averti
    Homme Profil pro
    Cimentage
    Inscrit en
    Septembre 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Cimentage
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2014
    Messages : 44
    Par défaut
    Salut Gugelhupf :-)

    Merci à toi pour ta réponse !

    Personnellement, je ne trouve pas ce cours très bien expliqué, je n'arrive pas à saisir, faute d'avoir essayé de lire, lire, lire et rere-lire le fonctionnement du design pattern Observer.. serait-il possible d'avoir un micro-micro-micro exemple réduit à sa plus grande simplicité.. ?

    Merci beaucoup :-)

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Bonjour FrostfallDelphi,

    Si tu es patient, je te donne une réponse plutôt courte, claire et détaillée ce soir (je mettrai à jour ce post).

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Membre averti
    Homme Profil pro
    Cimentage
    Inscrit en
    Septembre 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Cimentage
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2014
    Messages : 44
    Par défaut
    Salut Gugel :-)

    Merci vraiment infiniment, c'est très aimable de ta part, le concept des Design Pattern me parait encore un peu vague dans mon esprit.. Mais un très simple exemple peut être l'amorçage d'une compréhension plus élargie par la suite :-) ( Et oui, je fonctionne souvent comme ça..! )

  6. #6
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Bonsoir,

    J'ai créé un petit article sur le design pattern Observer : http://www.developpez.net/forums/blo...tern-observer/
    Pour ton exemple, remplace ma classe Worker par ta classe Test qui hérite de Thread, et ma méthode work() par ton run() (sans oublier d'appeler la méthode pour notifier, comme dans l'exemple), ce sera plus clair pour toi.
    Comme la valeur que tu souhaites notifier est un int, au niveau des generics utilise Integer.

    Je pense que l'exemple devrait être assez clair, mais n'hésite pas si tu as des questions

    A+
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/10/2006, 17h16
  2. Réponses: 7
    Dernier message: 16/06/2006, 16h31
  3. Récupérer la valeur d'une variable d'environnement
    Par poca10 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/02/2006, 10h23
  4. Réponses: 1
    Dernier message: 21/11/2005, 12h07
  5. Récupérer la valeur d'une variable distante
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2005, 16h10

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