Köra kod under Java ämnen är ett effektivt sätt att få mycket gjort på kort tid . Att övervaka och styra trådar, behöver du ställa upp en tråd objekt bunden till din tråd-aktiverade kod . Detta ger dig full kontroll över de trådar du skapat
Du behöver : .
Java -projekt med körbart trådar i koden
1
få tråden . ID med kommandot inuti obligatoriska run ( ) -funktion som utför din tråd .
Thread. currentThread ( ) getId ( )
2 <. br >
Tilldela tråden objektet till en offentlig variabel om du behöver kontroll på tråden från andra delar av programmet , eller skriva ut den direkt om du bara vill veta vad som är igång:
public int myThreadId=0 ;
public void run ( ) {
System . out. println ( "Tråd Namn : " . + Thread. currentThread ( ) getName ( ) ; //Skriva ut tråden namn
myThreadId=Thread. currentThread ( ) getId ( ) ; //Tilldela . tråd -ID till en offentlig variabel
}
3
.
skapa en ny tråd objekt att styra eller övervaka en tråd från andra delar av programmet . Du kan också Ta tag i objektet från en extern gänga , såsom den viktigaste processen , genom att bygga en komplett träd att köra trådar och grupper tråd Ring detta från main () funktionen på Java klass : .
//Promenera ner trädet för att hitta roten gruppen
ThreadGroup myRootGroup=tråd . currentThread ( ) getThreadGroup () ; .
ThreadGroup parentGroup ;
medan ( ! ( parentGroup=myRootGroup. getParent ( ) )=null ) {
rootGroup=parentGroup ;
}
//Gå tillbaka upp från roten och skapar en tråd objekt för varje tråd i din process
Trådar [ ] myThreads=ny tråd [ myRootGroup. activeCount () ] ;
medan ( rootGroup. enumerate ( myThreads , true ) == myThreads. length ) {
myThreads=ny tråd [ myThreads. length * 2 ] ;
}
Nu kan du få tillgång varje tråd i ditt process en efter en . Till exempel :
System. out. println ( "Tråd Namn : " + myThreads [0 ] currentThread ( ) getName ( ) ;
myThreadId=myThreads [0 ] currentThread ( ) getId () ; .