Thread envoi information variable

Fermé
k-23 Messages postés 252 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 25 novembre 2014 - 23 mai 2013 à 21:46
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 24 mai 2013 à 06:02
Bonjour,

Je voudrais faire un programme. je voudrais utiliser un thread celui ci va rouler constament mais je voudrais récupérer les information du thread .

je voudrais par example recuperer la variable vide

le programme me retourne toujours true;

je trouve pas dexample

public class CheckingMail extends Thread {


public static boolean vide = true;
public String msg;
public boolean running = true;
public boolean isRunning() {
return running;
}
public void setRunning(boolean running) {
this.running = running;
}
public void run(){


while(running){

setvide(false);

}

}
public static boolean isVide() {

return vide;
}

public static void setVide(boolean vide) {
CheckingMail.vide = vide;
}

}

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
23 mai 2013 à 21:54
"le programme me retourne toujours true; "

Quel programme ? Moi je ne vois qu'un thread, pas de programme, par exemple on ne sait pas qui te retourne quoi...

Ensuite, il faudrait que tu revois l'utilisation du mot clé static, a priori je dirais qu'ici tu ne devrais en avoir nul part !

Enfin, regardes attentivement ta boucle while(running), mais il y a peu de chance qu'elle s'arrête un jour...
0
k-23 Messages postés 252 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 25 novembre 2014 9
23 mai 2013 à 22:49
je veux juste recouperai la valeur d<une variable dans un thread par example si je fait

Thread th = new thread();
th.start();

dans mon th j<ai des variables et je veux récupérer la valeur si vous avez un example merci
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
24 mai 2013 à 06:02
Ce n'est pas Thread th = new thread(); qu'il faut faire, mais utiliser ta classe CheckingMail.

Exemple : j'ai deux boucles infinies, la première dans le thread qui incrémente et affiche "val", la deuxième dans le main qui fait uniquement l'affichage de "val", dans les deux cas ils font une petite pause après l'affichage.

public class Test
{
public static void afficher(String str, int n)
{
    System.out.printf("%s\t%d\n",str,n);
    
    try
    {
        Thread.sleep(1);
    } 
    catch (InterruptedException e)
    {
        System.exit(0);
    }
}

public static class T extends Thread
{
    int val = 0;
    
    public void run()
    {
        for (val=0;;val++)
            afficher("thread",val);
    }
}

public static void main(String[] args)
{
    T t = new T();
    t.start();
    
    while (true)
        afficher("main ",t.val);
}
}
0