Hvordan få en henvisning til en Java tråden

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 (.);