Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe maak je een Java Thread Zoek op Runtime
De kunst van het vinden van onderwerpen die tijdens runtime omvat twee Java-klassen , Draad en ThreadGroup . Bovendien moet u niet vergeten om uw draad te noemen wanneer u deze maakt . Anders , als je niet de naam van uw draad , bent u vertrouwen op de standaard naamgeving mechanisme voor discussies ingebouwd in Java , en terwijl je misschien in staat zijn om te raden wat de naam draad zou moeten zijn , is er geen garantie dat het zal dezelfde naam te zijn over alle runtime -platforms en Java -versies . Wat je
Java Runtime Environment versie 6 of hoger
Need Toon Meer Aanwijzingen
1

Maak het kader voor een Java-applicatie klasse met de naam "Find . " Gewoon zorgen voor een lege main ( ) -methode als uitgangspunt .

Public class Heb je {

public static void main ( String args [ ] ) op {

}

} kopen van 2

Maak een Runnable object en discussie , zodat je iets te vinden zijn . Noem de thread " Sleeper " door middel van een tweede argument aan de discussie constructeur , waarbij het ​​eerste argument is de Runnable referentie. Na het aanmaken van de Draad, start deze door de methode start ( ) bellen . De volgende code begint het nu lege main ( ) methode definitie :

Runnable runner
= new Runnable ( ) {

public void run
( ) {

try
{ < br

Thread.sleep > ( 50000 ) ;

} catch ( InterruptedException e ) {

//negeren

}


} < br >

} ;

Thread t = new Thread
( runner , " Sleeper " ) ;

t.start ( ) op ;
3

Zoek de draad met de hulp van ThreadGroup . Alle vragen die behoren tot een ThreadGroup . Deze groepen zitten in een boom waar alle groepen hebben een bovenliggende node ( en kinderen knooppunten ) , met uitzondering van de wortel van de boom , die geen ouder heeft . Ervan uitgaande dat de draad te vinden is niet in ThreadGroup de huidige thread , loop naar de top van de boom door te kijken naar de moedermaatschappij van de groep. Op die manier, als je naar de " Sleeper " thread vinden , dan weet je dat je het hebt gevonden omdat alle actieve discussies zullen zijn kinderen van de overlord bovenliggende draad .

Thread currentThread
= Thread.currentThread ( ) ;

ThreadGroup groep
= currentThread.getThreadGroup ( ) ;

terwijl ( group.getParent ( ) = null ) {

groep
= group.getParent ( ) ; ! < br >

}
4

Gebruik de methode van ThreadGroup te groeperen alle kinderen draden van deze super ouder opsommen ( ) . De methode slaat de actieve threads in een array

int activeCount = group.activeCount ( ) ; .

Thread activeThreads
[ ] = new Thread [ activeCount 5 ] ;

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

Gebruik de activeThreads matrix helpen bij het vinden van de ontbrekende draad hier , met de aanduiding Eenmaal gevonden , gebruikt u de dumpStack ( ) methode om een ​​stacktrace van de schroefdraad te voorzien :

Thread , vond = null;

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

if ( " Sleeper " is gelijk aan ( activeThreads [ i ] getName ( ) ) . . ) {

gevonden = activeThreads [ i ] ;

break
;



if ( gevonden = null ) {

found.dumpStack
( ) > ;

}
6

In de afsluitende lijn naar uw belangrijkste ( ) -methode , vertel het systeem uit te sluiten van het geheugen :

System.exit
( 0 ) ;
7

Compileer en run je programma . Terwijl de regelnummers in de stack trace iets andere gebaseerd op dingen zoals haakjes stijl zou kunnen zijn , zij allen moeten bieden dezelfde algemene uitgang

java.lang.Exception
: . Stack trace

op Java . lang.Thread.dumpStack ( Thread.java : 1206 ) op Twitter

bij Find.main ( Find.java : 31 ) op Twitter

Previous: Next:
  Java Programming
·Hoe te Combo Box maken in Java…
·Het wijzigen van het pakket Na…
·Java Theorie & Praktijk : Garb…
·Hoe de Java Applet Button Zoal…
·Om te lezen hoe een CLOB Field…
·Hoe je Pass op referentie in J…
·Hoe te Cookies verwijderen in …
·Instructies voor de Chefmate W…
·Hoe uw eigen bibliotheek impor…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe maak je Stuur een buffer naar een So…
·Hoe maak je een Baseball Ticket Bereken …
·Hoe maak je een schuine streep in PHP Es…
·Hoe te schrijven Into XML -bestand maken…
·Hoe je het wachtwoord in PHP 
·Hoe maak je een eenvoudige website met P…
·Hoe kan ik een extern JavaScript Turn In…
·Hoe kan ik een OLE-object opslaan om een…
·Hoe maak je een Regio Klasse Gebruik een…
Copyright © Computer Kennis http://www.nldit.com