Connaissances Informatiques >> programmation >> Programmation Java >> Content
  Derniers articles
  • Comment utiliser Struts Disposition 
  • Comment relier deux listes déroulan…
  • Comment changer la couleur du texte …
  • Comment contracter un tableau dans u…
  • Comment attribuer une valeur cachée…
  • Comment générer une méthode dans …
  • Comment voir les adresses IP en Java…
  • Comment faire pour utiliser Java Dec…
  • Comment faire pour vérifier pour No…
  • Comment: iReport pour NetBeans 
  •   Programmation Java
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Programmation Java

    Comment trouver un fil Java lors de l'exécution

    L' art de trouver les discussions à l'exécution implique deux classes Java , le fil et ThreadGroup . En outre, vous ne devez pas oublier de nommer votre fils quand vous le créez. Sinon, si vous ne nommez pas votre sujet, vous êtes en s'appuyant sur ​​le mécanisme de nommage par défaut pour les threads intégrés dans Java, et alors que vous pourriez être en mesure de deviner ce que le nom de fil devrait être, il n'ya aucune garantie que ce sera le même nom partout toutes les plates-formes d'exécution et les versions de Java . Choses que vous devez
    Java Runtime Environment version 6 ou supérieure
    Afficher plus Instructions
    1

    Créer le cadre d'une classe d'application Java nommée « Rechercher». Il suffit de fournir une méthode vide main () comme point de départ .
    Classe public

    Trouver {

    static void Main ( String args []) { publiques

    }

    }
    2

    Créer un objet Runnable et de fils de sorte que vous avez quelque chose à trouver. Nommez le fil " Sleeper " en fournissant un second argument du constructeur de Thread, où le premier argument est la référence Runnable . Après la création de la discussion , lancez-le en appelant sa méthode start () . Le code suivant démarre la définition de la méthode maintenant vide main () :

    coureur Runnable = new Runnable () {

    public void run () {

    try {

    Thread.sleep (50000) ;

    } catch ( InterruptedException e) {

    //ignorer

    }

    } < br >

    };

    fil t = new Thread ( coureur, " Sleeper ");

    t.start ();
    3

    Trouvez le fil à l'aide de ThreadGroup . Tous les fils appartiennent à une ThreadGroup . Ces groupes de s'asseoir dans une arborescence dans laquelle tous les groupes ont un noeud parent ( et noeuds enfants ) , à l'exception de la racine de l'arbre , ce qui n'a pas de parent . En supposant que le fil pour trouver n'est pas dans l' ThreadGroup du thread courant , montez au sommet de l'arbre en regardant la mère du groupe . De cette façon, quand vous allez à trouver le fil " Sleeper " , vous saurez que vous avez trouvé depuis toutes les discussions actives seront les enfants du thread parent suzerain .

    CurrentThread du filetage = de Thread.currentThread ( ) ;

    groupe ThreadGroup = currentThread.getThreadGroup ();

    while ( group.getParent () = null) { groupe de


    = group.getParent (); !

    }
    4

    Utilisez la méthode de ThreadGroup de regrouper tous les enfants fils de cette super- parent enumerate (). La méthode stocke les threads actifs dans un tableau

    int ActiveCount = group.activeCount (); .

    ActiveThreads de la discussion [] = new Thread [ ActiveCount +5] ;

    int actualCount = group.enumerate ( activeThreads ) ; - " . Sleeper "
    5

    Utilisez le tableau activeThreads pour aider à trouver le fil qui manque ici , celui marqué Une fois trouvé , utilisez le DumpStack () pour fournir une stacktrace du fil :

    discussion trouvées = null;

    for (int i = 0; i < actualCount ; i + +) {

    if (" Sleeper " equals ( activeThreads [i] getName ()). . ) {

    trouvées = activeThreads [i] ; pause


    ;

    } }


    if ( trouvé = null ! ) {

    found.dumpStack (); }


    6 < p> Comme la ligne de fermeture de votre méthode main () , dites le système pour sortir de la mémoire :

    System.exit (0);
    7

    compiler et exécuter votre programme . Alors que les numéros de ligne dans la trace de la pile pourrait être légèrement différent en fonction de choses comme entre parenthèses style, ils doivent tous fournir le même rendement général

    java.lang.Exception : . Stack trace

    à Java . lang.Thread.dumpStack ( Thread.java : 1206)

    à Find.main ( Find.java : 31)

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • L'installation de Java Web pour démarrer le contrôle ActiveX 
  • Relation entre JVM Memory & Heap Size 
  • Comment faire pour intégrer Java 
  • Applets Java Tutorial 
  • Comment faire pour créer un nouveau formulaire dans le projet NetBeans 
  • Comment ajouter JDK pour votre Classpath 
  • Comment analyser SAP dans les journaux Java 
  • Comment faire JNLP Ouvrir avec Java 
  • Comment faire une matrice et le remplir avec des nombres aléatoires en Java 
  • Comment faire pour remplir un tableau ADF 
  • Connaissances Informatiques © http://www.ordinateur.cc