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

Java Discussion :

pourquoi plusieurs threads java à l'execution


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    stagiaire
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Par défaut pourquoi plusieurs threads java à l'execution
    Bonjour,

    Voici ce que je ne comprend pas et si vous pouvez me l'expliquer :

    - je lance une application type HelloWorld SANS création de thread.
    - si je fais un top ou ps sur mon système Linux, je voie que plusieurs instance de java sont lancées

    Pourquoi plusieurs threads sont lancés (des démons pour le garbage collector , ... ) ?
    Peux-t-on paramétrer ce nombre de threads, pour améliorer les performances de mon application de calcul ?

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, il ne faut pas confondre thread et processus. Un seul processus peut contenir plusieurs threads. ps renvoit les processus, il n'y a qu'un seul process java pour chaque lancement de ton application.

    Par contre pour chaque lancement de ton application, il y a 3 threads :
    • le thread principal qui exécute la méthode main ;
    • le thread de gestion mémoire (garbage collector) ;
    • l'EventDispatchThread (EDT, gère l'interface graphique).

  3. #3
    Membre averti
    Profil pro
    stagiaire
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Par défaut
    Merci tout d'abord.

    J'arrive à faire la différence entre processus et thread "léger"

    Mais voici par exemple la sortie d'un ps avec affichage des threads :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
    l0221442  4399  4398  4399  0    1 Oct22 pts/0    00:00:00 -bash
    l0221442 24299  4399 24299  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24300  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24301  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24302  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24303  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24304  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24305  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24306  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24307  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24308  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24309  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24310  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24311  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24312  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24313  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24314  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24315  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24316  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24317  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24318  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24319  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24320  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24321  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24322  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24323  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24324  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24325  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24326  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24327  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24328  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24329  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24330  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24331  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24332  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24333  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24334  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24335  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24336  0   40 12:44 pts/0    00:00:00 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24337 85   40 12:44 pts/0    00:00:31 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24299  4399 24338 89   40 12:44 pts/0    00:00:33 /workdev/MTS/JAVA/java2-ppc64-50/bin/java LanceCompteurs
    l0221442 24366 11105 24366  0    1 12:45 pts/1    00:00:00 ps -Lfu l0221442

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si tu veux l'énumération des threads de ton application, tu peux faire un

    Parce que là, effectivement, t'as un gros paquet de Threads....

    pour cherryben: certaines ancienne version de ps et top renvoie les Thread comme des processus

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    La commande jps (le ps pour java) ou mieux jconsole (avé des boutons) te donneront tous les détails sur les process java en cours.

Discussions similaires

  1. Execution paralléle de plusieurs Thread
    Par gebtun dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 03/05/2013, 14h54
  2. [PROFILER][THREAD][java.prof] outil gratuit/complet?
    Par narmataru dans le forum Général Java
    Réponses: 11
    Dernier message: 16/11/2005, 12h28
  3. création de plusieurs threads dans WinMain
    Par ChidoriRasengan dans le forum DirectX
    Réponses: 1
    Dernier message: 15/06/2005, 21h36
  4. [exe] convertire un fichier java en executable?
    Par Toosek dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 27/01/2004, 10h49

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