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 :

ordre d'execution de thread


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 99
    Points : 40
    Points
    40
    Par défaut ordre d'execution de thread
    Bonjour

    svp j'ai un problème

    j'ai régle1 , régle2 , régle3 et régle4
    régle1 et régle2 s'exécutent en parallèle et lorsque il se terminent les règles 3 et 4 s’exécutent en parallèle

    regle1===> Thread1
    regle2===>Thread2
    regle3===>Thread3
    regle4===>Thread4

    je fait dans la fonction main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Thread1 tt1=new Thread1();
    Thread2 tt2=new Thread2();
    tt1.start(); tt2.start();
     
    while (tt1.isAlive() || tt2.isAlive())
    {
    } 
    Thread1 tt3=new Thread3();
    Thread2 tt4=new Thread4();
    tt3.start(); tt4.start();
    est ce que le boucle while assure que l’exécution des thread 3 et 4 ne se fait que lorsque l’exécution des deux thread 1 et 2 se terminent

    Merci de me répondre

  2. #2
    Expert éminent sénior
    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 : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    ta boucle while assure surtout que ton main va bouffer 100% du CPU!

    pour attendre la fin d'un thread, utiliser thread.join()

  3. #3
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 99
    Points : 40
    Points
    40
    Par défaut
    merci beuacoup monsieur
    donc au lieu de faire boucle while il faut ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Thread1 tt1=new Thread1();
    Thread2 tt2=new Thread2();
    tt1.start(); tt2.start();
     
    tt1.join(); 
    tt2.join(); 
     
     
    Thread1 tt3=new Thread3();
    Thread2 tt4=new Thread4();
    tt3.start(); tt4.start();
    svp une autre question lorsque je fait est ce le tt2 reste toujours en cours d'exécution il ne se bloque pas ????

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 566
    Points : 21 635
    Points
    21 635
    Par défaut
    Citation Envoyé par Etudiante_Ines Voir le message
    svp une autre question lorsque je fait est ce le tt2 reste toujours en cours d'exécution il ne se bloque pas ????
    ... Oui, tt1 et tt2 restent en cours d'exécution.

    C'est un peu le principe des threads : ils s'exécutent "à côté" et ne s'arrêtent pas de le faire si on ne le leur demande pas.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 99
    Points : 40
    Points
    40
    Par défaut
    merci beaucoup monsieur

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 659
    Points
    2 659
    Par défaut
    L'appel à join fait en sorte de "relacher" le processeur et d'attendre la fin du Thread. On dit alors que le Thread qui attend avec un join est "réveillé".

Discussions similaires

  1. [M2] structure multi-modules et ordre d'execution
    Par dvicente72 dans le forum Maven
    Réponses: 11
    Dernier message: 03/06/2007, 20h41
  2. Ordre d'execution et httpRequest
    Par sourize dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2007, 10h33
  3. [c#]threads : ou est la limite d'execution du thread ?
    Par zax-tfh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/11/2006, 19h41
  4. Réponses: 5
    Dernier message: 29/12/2005, 13h47
  5. probleme ordre d'execution de ma page asp
    Par Shosho dans le forum ASP
    Réponses: 5
    Dernier message: 10/05/2005, 14h51

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