IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

programmation concurrent

  1. UlneSweden4
    UlneSweden4
    Exercice 1
    Dans cet exercice deux coureurs sont en compétition. Réaliser un programme contenant deux
    threads qui décrivent le comportement des coureurs. Chaque thread affiche un message
    indiquant qu'un coureur a franchi les 100 mètres tout le long du parcours. (par exemple 100 m
    parcourus par coureur1, .. 400 m parcourus par coureur 2…)
    Le parcours étant formé de 800 m. (faites une boucle avec un compteur qui s'incrémente lors
    du passage à la ième centaine de mètres).
    1. Écrire une classe dérivée de la classe thread pour gérer les coureurs.
    2. Afficher les noms et les priorités des threads.
    3. Répéter le même travail avec l'interface Runnable
    4. Sachant que la méthode join() force le thread à attendre la mort du Thread appelant
    avant de s'exécuter, créer un 3 ème coureur après avoir appelé cette méthode par les
    deux premier threads, et tester le programme à nouveau..
    5. Modifier la priorité d'un thread et tester le programme. Quelles conséquences vous
    pouvez déduire.
    6. Interrompre le coureur 1.
    7. Afficher si les coureurs sont interrompus ou non.
    8. Rendre les deux threads des threads démons.

    la réponse:

    La solution de exerice 1(1 jusqua 4)
    class Coureur extends Thread {
    String nom_coureur;
    /*
    constructeur de la classe
    */
    public Coureur (String str) {
    nom_coureur = str;
    }
    /*
    on redéfinit run() pour décrire le comportement d'un coureur
    quelconque
    */
    public void run() {
    /*la valeur i est incrémentée lors du passage à la ième centainede mètres */
    for (int i =1; i<=10; i++) {
    System.out.println(i*100 + " m par " + nom_coureur);
    try {
    /*
    pause aléatoire de 1 seconde maximum qui simule le
    temps mis par chaque coureur pour franchir 100 m
    */
    sleep((int)(Math.random() * 1000));
    } catch (InterruptedException e) {}
    }
    System.out.println( nom_coureur + " est arrive ! ");
    } }
    /*classe pour tester la classe Coureur*/
    class Course {
    public static void main (String[] args) {
    /*Il s'agit d'une classe de coureurs*/
    System.out.println("Passage aux : ");
    Coureur j = new Coureur ("GHALEM");
    Coureur p = new Coureur ("AZAR");
    /*On lance les deux coureurs.*/
    j.start();
    p.start();
    } }
    les question 5 ,6,7 et 8 j’ai pas compris
Affichage des résultats 1 à 1 sur 1
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