Exécution de code sous threads Java est un puissant moyen de faire beaucoup de choses en peu de temps . Pour surveiller et contrôler les threads, vous devez configurer un objet thread lié à votre code thread- enabled . Cela vous donne le plein contrôle sur les discussions que vous avez créées . Choses que vous devez projet Java avec threads exécutables dans le code Afficher plus Instructions 1 obtenir l'ID de fil avec cette commande dans la course obligatoire () qui exécute votre fil : . Thread.currentThread () getId () 2 affecter l'objet de fil à une variable publique si vous avez besoin de contrôler le fil à partir d'autres parties du programme , ou l'imprimer directement si vous voulez juste savoir ce qui fonctionne : public int myThreadId = 0; public void run () { System.out.println ( "Nom de discussion: " . + Thread.currentThread () getName () //impression du fil nom myThreadId = Thread.currentThread () getId (); //Affectation de l' ID de thread à un public. Variable: } 3 Créer un nouvel objet thread pour contrôler ou surveiller un thread à partir d'autres parties du programme. Vous pouvez également saisir l'objet d'un filetage extérieur , . tels que le processus principal , en construisant un arbre complet de courir les discussions et les groupes de fils Appelez cela de la fonction main () de votre classe Java: //Descendez l'arborescence pour trouver le groupe root < br > ThreadGroup myRootGroup = Thread.currentThread () de getThreadGroup (); . ThreadGroup parentGroup ; while (! ( parentGroup = myRootGroup.getParent ()) = null) {< br > rootGroup = parentGroup ; } //marche arrière à partir de la racine , la création d'un objet Thread pour chaque thread dans votre processus discussions [] de myThreads = new Thread [ myRootGroup.activeCount ()] ; tout ( rootGroup.enumerate ( myThreads , true) == myThreads.length ) { myThreads = new Thread [ myThreads.length * 2 Photos ] ; } maintenant vous pouvez accéder à tous les fils dans votre processus un par un . Par exemple: System.out.println ( "Nom de discussion: " + myThreads . [0] CurrentThread () de getName (); . . . myThreadId = myThreads [0] CurrentThread () getId ();
|