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 :

Threading : le main ne meurt jamais


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 23
    Par défaut Threading : le main ne meurt jamais
    Bonjour,

    Je développe une application multithreadée.
    Voici le fonctionnement : un main, qui lance 1 Thread "MainService".
    Ce thread se charge de lire une configuration et lance autant de thread que nécessaire.

    Dans le cadre de tests, le main attend 1s (Thread.sleep()), puis stoppe le thread "MainService".

    Le main service lui interrompt tous les threads qu'il a lancé. Une fois terminé, il fait un "join" sur tous les thread censés être arrêtés.
    Quand tout ceci est terminé (pas de soucis de blocage ou quoi que ce soit), le main fait un join sur le Thread du "MainService" (pas de problème).

    Au final, tout mes thread se terminent sans problème.
    Seul hic : en regardant le debugger dans eclipse je m'apercois qu'un thread ne meur jamais : "Thread [DestroyJavaVm] (Running)"

    D'où vient ce problème ? et comment le résoudre ?
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Je te conseillerai de faire un "ThreadDump" via un outil tel que VisualVM.

    Petites explications ici
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Encore plus simple: le lancer en debug (si c'est posible) et mettre le thread qui ne se termine pas en pause pour voir où il bloque.

Discussions similaires

  1. Thread Threapool: main() continue de tourner même après réalisation des tâches
    Par jamesleouf dans le forum Concurrence et multi-thread
    Réponses: 1
    Dernier message: 09/05/2011, 16h07
  2. thread fonction main
    Par ouiouioui dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2009, 15h00
  3. Réponses: 3
    Dernier message: 12/01/2009, 17h50

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