Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako sa k nám odkaz na Java vlákno

Spustenie kódu v jazyku Java závity je účinný spôsob , ako sa dostať veľa urobiť v krátkom čase . Ak chcete sledovať a kontrolovať závity , budete musieť nastaviť objekt vlákna viazaná na svojho závitu povolené kódu . To vám dáva plnú kontrolu nad závity , ktoré ste vytvorili . Veci , ktoré budete potrebovať
projektu Java s spustiteľné závitmi v kóde
Zobraziť ďalšie inštrukcie Cestuj 1

Získajte ID vlákna s týmto príkazom vnútri povinného behu ( funkcia ) , ktorá vykonáva svoje vlákno : . )

Thread.currentThread ( ) GetId (
2

Priraďte objekt vlákna k verejnej premennej , ak potrebujete kontrolovať vlákno z iných častí programu , alebo ju vytlačiť priamo , ak si len chcete vedieť , čo sa beží :

public int myThreadId = 0 ;

public void run ( ) { System.out.println

( " Názov vlákna : " .. + Thread.currentThread ( ) getName ( ) ; //Tlač na meno závit

myThreadId = Thread.currentThread ( ) GetId ( ) ; //Priradenie ID vlákna na verejnosti premenná

}
3

Vytvorte nový objekt vlákna na kontrolu a sledovanie vlákno od ostatných častí programu . Môžete tiež chytiť objekt z vonkajšej závit , . ako je hlavný proces , tým , že stavia celý strom beh vlákna a nite skupiny Nazvime to z hlavnej funkcie ( ) vašej triedy Java :

//Walk sa strom snaží nájsť koreňovú skupinu

ThreadGroup myRootGroup = Thread.currentThread ( ) getThreadGroup ( ) ; .

ThreadGroup parentGroup ;

while ( ! ( parentGroup = myRootGroup.getParent ( ) ) = null ) {

rootGroup = parentGroup ;

}

//Vráťte sa z koreňa , vytvorenie téme objekt pre každé vlákno v procese

Námety [ ] myThreads = new Thread [ myRootGroup.activeCount ( ) ] ;

kým ( rootGroup.enumerate ( myThreads , true ) == myThreads.length ) {

myThreads = new Thread [ myThreads.length * 2 ] ;

}

Teraz môžete pristupovať každý vlákno v procese po jednom Napríklad :

System.out.println ( " Názov vlákna : " + myThreads . .. [ 0 ] currentThread ( ) getName ( ) ; ..

myThreadId = myThreads [ 0 ] currentThread ( ) GetId ( ) ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené