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

Concurrence et multi-thread Java Discussion :

Realiser des Threads Concurrents


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2005
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 246
    Par défaut Realiser des Threads Concurrents
    Bonjour,

    Je voulais faire des threads concurrents. Pour cela, j'ai fait ce ci :

    Premier Thread
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package classe ; 
     
     public class Demba implements  Runnable  { 
      public Demba(){}
      public void run ()  { 
       String version="version 1.0 ";
       System.out.println(version);
       Thread.yield();
      } 
     }
    Deuxième Thread
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    package classe;
     
    public class Couli implements Runnable{
     
    	public Couli() {}
    	public void run ()  { 
    		   String version="version 2.0 ";
    		   System.out.println(version);
    		   Thread.yield();
    		  } 
    }
    Le programme main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    package classe;
     
    public class ExcDemba {
     
    	public static void main(String[] args) {
    		// TODO Raccord de méthode auto-généré
    		Demba r1=new Demba();
    		Couli r2=new Couli();
    		r1.run();
    		r2.run(); 
    	}
     
    }
    Mais je ne sais pas si l'idée est donne. Qui peut donner des conseils ?

    Merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class ExcDemba {
     
    	public static void main(String[] args) {
    		// TODO Raccord de méthode auto-généré
    		Thread t1=new Thread(new Demba());
    		Thread t2=new Thread(new Couli());
    		t1.start();
    		t2.start(); 
    	}
     
    }

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Pour compléter la méthode run() ne dois pas être appelée explicitement. maClasse.start() lance cette méthode run.

    EDIT :
    c'est soit
    - la classe étend Thread, dans ce cas un "new maClasse()" et un "maClasse.start()"
    - la classe implémente Runnable et la méthode ci-dessus doit s'appliquer. Sinon autre façon de faire : dans le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public MaClasse(){
      Thread t=new Thread(this);
      t.start();
    }

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Thread.yield() ne sert à rien (à part à débugger)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/11/2010, 21h15
  2. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03
  3. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  4. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  5. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53

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