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 ] interrompre un thread ?


Sujet :

Concurrence et multi-thread Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut [thread ] interrompre un thread ?
    Bonjour, j'ai encore des soucis ( decidement :/ ) lol, enfin bon. cette fois c'est avec les threads. j'ai codé un method qui lance 2 classes et qui devrait les stoper. la methode waitflag revoit true ou false.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
            while(true)
            {
     
                flag = waitflag(localSocket);
     
                if(flag == true)
                {
                    try {
                         t1.start();
                         t2.start();
                    System.out.println("bip");
                    } catch( IllegalThreadStateException itse ) {
                    }
                }
                else
                {
                    t1.destroy();
                    t2.destroy();
                }
     
            }
    Mon probleme se situe lorsque j'essai de stoper les threads. j'obtiens le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Execption in thread "main" java.lang.NoSuchMethodError
         at java.lang.Thread.destroy(unknown source)
         at appli.station.StationServerRun.main(StationServerRun.java:112
    Au depart, je pensais utiliser interrupt() au lieu de destroy(), il n'y avait pas de message d'erreur mais les thread était toujours actif.
    y a t il quelqu'un qui a une idée ?

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    Les solutions presentes dans la FAQ ne correspondent pas vraiment avec mon exemple, car dans mon cas les threads lancés ecoutent des ports et attendent, donc je ne pense pas pouvoir utliser une des 2 solutions proposées :/

    ai-je tort ? :/

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    La méthode destroy() est deprecated, et son code se limite à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public void destroy() {
        throw new NoSuchMethodError();
        }
    a++

  5. #5
    Membre expérimenté Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Par défaut
    Tu as toujours la méthode interrupt() qui stop ton thread et lance une exception mais c pas très beau... mais parfois c'est nécessaire...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 65
    Par défaut
    hum hum, la methode destroy est sacrement util alors lol

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

Discussions similaires

  1. [Débutant] Interrompre un thread
    Par thomas55 dans le forum C#
    Réponses: 31
    Dernier message: 30/04/2014, 09h20
  2. Interrompre une thread grace au signaux.
    Par code_vx dans le forum C++
    Réponses: 7
    Dernier message: 29/05/2013, 21h49
  3. [Thread]Relancer un thread
    Par Pill_S dans le forum Concurrence et multi-thread
    Réponses: 9
    Dernier message: 28/04/2005, 20h41
  4. [Thread] Interrompre un Thread
    Par Arnaud51 dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 13/03/2005, 21h41
  5. Réponses: 3
    Dernier message: 11/02/2004, 12h50

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