Partage
  • Partager sur Facebook
  • Partager sur Twitter

Accéder au variable de la fonction où est lancé le Thread.

    28 mai 2011 à 14:16:48

    Salut, voilà ce que je voudrais faire, un petit exemple vaux mieux que de grand discours ;)

    public void traite(int nb){
    						
    			Thread t = new Thread(){
    				@Override
    				public void run(){
    					nb++;
                                            // D'autre code assez long
    				}
    			};
                            t.start();
    }
    



    Seulement, voilà, je n'ai pas le droit de faire ça ...
    Le seul moyen, c'est de déclaré une variable au début de la classe, et à la construction lui attribuer la valeur passer en paramètre ...

    N'y aurais-til pas de faire plus simplement ?
    Parce que là, je dois déclaré plein de variable au début que je n'aurais pas eu besoin de déclaré si je n'aurais pas dû les utiliser dans un Thread ...

    voilà, je pense que vous aurez compris ma question ;)
    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2011 à 17:16:17

      Plop,

      Pourquoi ne pas créer une classe Runnable(qui hérite ou encapsule un thread) qui prendrait dans le constructeur les arguments qui t'intéressent et faire l'instancier dans ta méthode. En gros faire :

      public void traite(int nb) {
         final Thread locThread = new MonThread(nb);
         locThread.start();
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        28 mai 2011 à 17:46:27

        Ah oui, c'est trop bête, je ne me rappelait plus qu'on pouvait faire une classe héritée de Runnable ...

        Un dernier point à faire, ce serait de pouvoir le faire avec un Thread anonyme comme dans mon exemple ...
        • Partager sur Facebook
        • Partager sur Twitter

        Accéder au variable de la fonction où est lancé le Thread.

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown