Running koden under Java tråder er en effektiv måte å få mye gjort på kort tid . Å overvåke og kontrollere trådene , må du sette opp en tråd objekt knyttet til din tråd -aktivert kode . Dette gir deg full kontroll over trådene du har opprettet. Du trenger
Java prosjekt med lettløpte tråder i koden
Vis flere instruksjoner
en
Få tråden ID med denne kommandoen inne i obligatorisk run ( )-funksjonen som utfører din tråd : .
Thread.currentThread ( ) getId ( )
2
Angi tråden objekt til en offentlig variabel hvis du trenger for å kontrollere tråden fra andre deler av programmet , eller skrive den ut direkte hvis du bare ønsker å vite hva som kjører : en
public int myThreadId = 0;
public void run () {
System.out.println ( " Tråd navn: " . + Thread.currentThread ( ) getName (); //Skrive tråden navn
myThreadId = Thread.currentThread ( ) getId (); //Tilordne tråden ID til et publikum. variable
}
3
Opprett en ny tråd objekt for å kontrollere eller overvåke en tråd fra andre deler av programmet . Du kan også ta tak i objektet fra en ekstern tråd, . som den viktigste prosessen , ved å bygge en komplett tre kjører tråder og tråd grupper Ring dette fra main ( )-funksjonen på din Java-klassen : en
//Gå ned treet for å finne roten gruppen
ThreadGroup myRootGroup = Thread.currentThread ( ) getThreadGroup (); .
ThreadGroup parentGroup ;
while ( ! ( parentGroup = myRootGroup.getParent ( ) ) = null ) {
rootGroup = parentGroup ;
}
//Gå tilbake opp fra roten , og skaper et Thread -objekt for hver tråd i din prosess
tråder [] myThreads = new Thread [ myRootGroup.activeCount ( ) ];
mens ( rootGroup.enumerate ( myThreads , true) == myThreads.length ) {
myThreads = new Thread [ myThreads.length * 2 ];
}
nå kan du få tilgang til hver tråd i prosessen én etter én . For eksempel:
System.out.println ( " Tråd Navn: " + myThreads . [ 0 ] currentThread ( ) getName (); . . .
myThreadId = myThreads [ 0 ] currentThread ( ) getId ();