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

avec Java Discussion :

Synchronisation de thread


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Lycéen
    Inscrit en
    Décembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2006
    Messages : 19
    Par défaut Synchronisation de thread
    Bonsoir
    Voilà j'ai un petit soucis avec un thread. En effet, j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    User user = new User();
    methodeAvecCreationThread();
    blabla.....
    Dans la méthode avec le thread apellé, j'ai une boucle qui prend un traitement un peu long mais que je suis obligé de faire dans un thread à part.
    Cependant pour l'execution de l'instruction après l'apelle de la méthode, j'ai besoin que l'execution soit terminée. Seulement dans la situation actuelle, l'instruction d'après est appellée pendant le traitement du thread (Normal.)

    Il y a t'il un moyen de faire attendre avant l'execution de l'instruction ?

    Merci

  2. #2
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Par défaut peux tu détailler un peu plus stp!
    Citation Envoyé par Aerialls Voir le message
    Bonsoir
    Voilà j'ai un petit soucis avec un thread. En effet, j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    User user = new User();
    methodeAvecCreationThread();
    blabla.....
    Dans la méthode avec le thread apellé, j'ai une boucle qui prend un traitement un peu long mais que je suis obligé de faire dans un thread à part.
    Cependant pour l'execution de l'instruction après l'apelle de la méthode, j'ai besoin que l'execution soit terminée. Seulement dans la situation actuelle, l'instruction d'après est appellée pendant le traitement du thread (Normal.)

    Il y a t'il un moyen de faire attendre avant l'execution de l'instruction ?

    Merci
    j'ai bien compris que c'est la boucle qui prend du temps mais tu vaux fait wait pour une i nstruction. laquelle?

  3. #3
    Membre averti
    Profil pro
    Lycéen
    Inscrit en
    Décembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2006
    Messages : 19
    Par défaut
    Concrètement j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    act.changeWindow(chan);
    println(chan,"** Vous venez de rejoindre " + chan);
    Vu que j'affiche du texte dans la fenêtre "chan", je dois attendre que le changement de fenêtre soit effectife. Dans ma situation actuel, mon message est affiché deux fois. Il faut juste que j'attende que le traitement de mon changeWindow soit bien terminé pour ajouter un mesage dans celui-ci

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    puisqu'il s'agit d'afficher une fenetre, je suppose que tu lance ton action dans l'event dispatch thread (obligatoire pour manipuler des composants graphiques) avec SwingUtilities.invokeLater(), il suffit de remplacer l'appel par SwingUtilities.invokeAndWait().

    Sinon pour attendre a fin d'un thread en général, il suffit de faire thread.join()

Discussions similaires

  1. question: Synchronisation de threads
    Par remimichot dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 23/07/2006, 18h27
  2. Question sur la synchronisation des threads.
    Par sebastieng dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 07/12/2005, 15h55
  3. Réponses: 1
    Dernier message: 23/05/2005, 15h52
  4. Synchronisation de thread
    Par declencher dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2004, 10h28

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