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

AWT/Swing Java Discussion :

Tache longue, progression et Swing


Sujet :

AWT/Swing Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Tache longue, progression et Swing
    Bonjour a tous,

    Je suis actuellement en train de finaliser un projet lié consistant a implémenter un algorithme génétique pour le problème du voyageur de commerce. L'algorithme est appliqué a un espace de 25 villes du monde. Je souhaitais a présent ajouter une gui permettant de régler les paramètres de l'algorithme, et pouvant afficher de façon graphique le trajet trouvé. J'exécute mon algorithme génétique, récupère le meilleur trajet trouvé, puis convertis les coordonnées (latitude / longitude) des villes par un service web fourni par Yahoo avant de les afficher. Seulement, le temps de déroulement de l'algorithme génétique et la récupération des coordonnées est "important" (une dizaine de secondes).

    Je souhaite donc faire en sorte que ce processus ne bloque pas le Gui, et affiche un avancement a l'utilisateur. Mon algorithme génétique ayant été codé comme une boite noire (je lance une méthode et obtiens le résultat final une fois tous les traitements effectués), j'ai procédé de la façon suivante pour obtenir l'avancement du processus :
    1. Créé un nouveau SwingWorker dans l'événement lançant l'AG
    2. Surchargé sa méthode doInBackground : j'y crée 2 threads : l'un lance le long processus, l'autre vérifie a intervalles réguliers son avancement (via un getter sur la longue tache) et publish cet avancement
    3. Surchargé sa méthode process qui récupère donc régulièrement l'avancement de la méthode "publié" dans le second thread de doInBackground, et met a jour l'interface


    Mon approche est-elle correcte ? Elle semble fonctionner, mais y a-t-il des choses auxquelles je dois être particulièrement attentif ? En termes de threads, j'ai surtout eu des cours théoriques, et peut-être un TP dessus l'an dernier, autant dire qu'il y a sans aucun doute des choses auxquelles je ne fais pas attention, c'est ce que j'aurais aime confirmer ou infirmer

    Merci de votre aide


    PS : je joins un exemple simplifie de ce que mon implémentation peut donner
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/02/2014, 11h03
  2. Indiquer la progression d'une tache assez lourde
    Par Steven62 dans le forum Silverlight
    Réponses: 2
    Dernier message: 14/08/2009, 18h35
  3. Bar de progression (pour calcul en tache de fond)
    Par batataw dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2009, 18h05
  4. [Swing][Thread] affichage fenetre pdt tache longue
    Par rems033 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 09/08/2007, 14h39
  5. Sérialisation & info de progression via SWING
    Par Crypt dans le forum Langage
    Réponses: 18
    Dernier message: 25/11/2006, 12h30

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