Hvordan få en henvisning til en Java tråden
Kjører kode under Java-tråder er en effektiv måte å få mye gjort på kort tid. For å 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.
Bruksanvisning
1 Få tråden ID med denne kommandoen inne i obligatorisk run () funksjon som utfører tråden:
Thread.currentThread (). GetId ()
2 Tildele tråden objekt til en offentlig variabel hvis du trenger for å styre tråden fra andre deler av programmet, eller skrive den ut direkte hvis du bare ønsker å vite hva som kjører:
public int myThreadId = 0;
public void run () {
System.out.println ( "Tråd navn:" + Thread.currentThread () getName (); // Skrive tråden navn.
myThreadId = Thread.currentThread () getId (.); // Tildeling tråden ID til en offentlig variabel
}
3 Opprett en ny tråd objekt for å kontrollere eller overvåke en tråd fra andre deler av programmet. Man kan også ta gjenstanden fra en utvendig gjenge, slik som i hovedprosessen, ved å bygge en komplett tre av kjører tråder og trådgrupper. Kall dette fra main () funksjonen på din Java-klassen:
// Gå ned treet for å finne roten gruppe
ThreadGroup myRootGroup = Thread.currentThread () .getThreadGroup ();
ThreadGroup parentGroup;
while ((parentGroup = myRootGroup.getParent ())! = null) {
rootGroup = parentGroup;
}
// Gå tilbake opp fra roten, og skaper en tråd objekt for hver tråd i prosessen
Tråder [] myThreads = ny tråd [myRootGroup.activeCount ()];
while (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 (.);