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 :

[Thread]MultiThreading


Sujet :

Concurrence et multi-thread Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [Thread]MultiThreading
    comment on peut creer des thread dans une application java de facon que chacune de ses thread execute un code different des autres..Veuilez bien m'expliquez car je suis debutant et j'ai lu tant de documents mais j'ai pas pu comprendre....et merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    Ceci est un bon tuto à mon avis:

    http://alwin.developpez.com/tutorial/JavaThread/

    Oublies tout ce que tu as pu lire d'autres et regarde les exemples.
    Bonne chance

    Jie

  3. #3
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Il faut que ta classe :
    - soit implémente Runnable ;
    - soit hérite de Thread ;

    A partir de là tu lances ton thread en appelant la fonction run() de Runnable ou start() de Thread sur ton objet, càd l'instance de la classe que tu as déclarée comme extends Thread ou implements Runable...

    ++
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Pas encore tout à fait... Meme pour une classe Runnable, il faut la wrapper dans un Thread et appeller la méthode start du Thread (qui appellera la méthode run du Runnable, mais c'est son problème)

  5. #5
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Si tu appelles run() directement, le code ne sera pas exécuté dans un thread. Ca sera un simple appel à une méthode. Faut donc bien passer par start() (qui lance run()) pour que tout se fasse dans un thread.

    Nas'

  6. #6
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Si tu étends Thread, tu peux l'utiliser directement, sinon tu dois wrapper ton Runnable dans un Thread. Mais dans tous les cas, tu dois démarrer le thread avec start(), sinon, comme dit ci-dessus, la méthode run() ne sera pas exécutée dans un autre thread (mais dans le thread courant, comme une méthode normale).

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread thread = new TonThread();
    ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runnable runnable = new TonRunnable();
    Thread thread = new Thread(runnable);
    Et pour le lancer :
    Tout était déjà dit mais j'en ai fait une petite synthèse !
    Wookai


  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    merci pour votre aides...donc pour lancer plusieurs thread il faut les creér en implementant Runnable(sinon en heritant de Thread) en mettant le code que nous volons que chaque thread execute dans le corps de la methode run() puis les lancer ds le main a l'aide de la methode Start()....c'est ça non????

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Jie.N Voir le message
    Ceci est un bon tuto à mon avis:

    http://alwin.developpez.com/tutorial/JavaThread/

    Oublies tout ce que tu as pu lire d'autres et regarde les exemples.
    Bonne chance

    Jie
    C'est vraiment un bon tuto sur les threads...Y'aurait il un bon tuto sur les exceptions aussi s'il vous plaît.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/07/2014, 10h39
  2. [Req]Tuto Thread/Multithread et Tuto Sockets
    Par Booster2ooo dans le forum Delphi
    Réponses: 8
    Dernier message: 03/04/2007, 11h27
  3. Pb Linker (Single-threaded / Multithreaded)
    Par olive_le_malin dans le forum MFC
    Réponses: 4
    Dernier message: 26/08/2004, 17h30

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