codice in esecuzione in thread Java è un potente mezzo per ottenere un sacco fatto in poco tempo . Per monitorare e controllare i fili , è necessario configurare un oggetto thread legato al codice thread- enabled . Questo ti dà il pieno controllo su i thread creati. Cose che ti serviranno
progetto Java con thread eseguibili nel codice
Show More Istruzioni
1
Scarica l'ID del thread con questo comando all'interno del periodo obbligatorio ( ) funzione che esegue il thread : .
Thread.currentThread ( ) getId ( ) economici 2
assegnare l'oggetto thread per una variabile pubblica , se avete bisogno di controllare il filo da altre parti del programma , oppure stamparlo direttamente se volete solo sapere cosa è in esecuzione :
public int myThreadId = 0;
public void run ( ) { System.out.println
( " nome Discussione: " . + Thread.currentThread ( ) getName ( ) ; //Stampa il filo nome
myThreadId = Thread.currentThread ( ) getId ( ) ; //Assegnazione di un ID thread per un pubblico . variabile
}
3
Creare un nuovo oggetto thread per controllare o monitorare un filo da altre parti del programma . Si può anche afferrare l' oggetto da una filettatura esterna , . quali il processo principale , con la costruzione di un albero completo di thread in esecuzione e di gruppi filo Chiamare questo dalla funzione main () della classe Java :
//Proseguire a piedi lungo l'albero per trovare il gruppo root < br >
ThreadGroup myRootGroup = Thread.currentThread ( ) getThreadGroup ( ) .
ThreadGroup parentGroup ;
while (! ( parentGroup = myRootGroup.getParent ( ) ) = null) { < br >
rootGroup = parentGroup ;
}
//tornare indietro fino dalla radice , creando un oggetto di discussione per ogni thread nel processo
fili [] miei fili = new Thread [ myRootGroup.activeCount ( ) ] ;
mentre ( rootGroup.enumerate ( miei fili , true) == myThreads.length ) {
miei fili = new Thread [ myThreads.length * 2 ] ;
}
Ora è possibile accedere a tutti i thread nel vostro processo uno ad uno , ad esempio : .
System.out.println ( " Nome Discussione: " + miei fili . [ 0 ] currentThread ( ) getName (); . . .
myThreadId miei fili = [ 0 ] currentThread ( ) getId ();