Running code onder Java- threads is een krachtige manier om veel gedaan in een korte tijd te krijgen . Het bewaken en controleren van de draden , moet u het opzetten van een thread object gebonden aan uw draad - enabled code . Dit geeft u volledige controle over de draden die u hebt gemaakt . Wat je Java project nodig met runnable draden in de code Toon Meer Aanwijzingen 1 Verkrijg de thread-id met deze opdracht binnen de verplichte run ( ) -functie die voert uw draad: . Thread.currentThread ( ) op getId ( ) kopen van 2 Wijs de draad object naar een openbare variabele als je nodig hebt om de draad controle uit andere delen van het programma , of print het uit direct als je gewoon wilt weten wat er draait : openbare int myThreadId = 0 ; public void run ( ) { System.out.println ( " thread Name : " . + Thread.currentThread ( ) getName ( ) ; //het afdrukken van de thread naam myThreadId = Thread.currentThread ( ) op getId ( ) ; //de thread-id toewijzen aan een publiek . variabele } 3 Maak een nieuwe thread object aan beheersing of controle van een draad uit andere delen van het programma . Je kan ook het voorwerp te pakken van een externe draad , . zoals de belangrijkste proces , door het bouwen van een volledige boom van de lopende discussies en draad groepen Bel dit uit de main ( ) -functie van uw Java-klasse : //Loop naar de boom aan de wortel groep < br vinden > ThreadGroup myRootGroup = Thread.currentThread ( ) getThreadGroup ( ) ; . ThreadGroup parentGroup ; terwijl ( ! ( parentGroup = myRootGroup.getParent ( ) ) = null ) { < br > rootGroup = parentGroup ; } //Loop back-up van de wortel , het creëren van een thread-object voor elke draad in uw proces discussies [ ] MyThreads = new Thread [ myRootGroup.activeCount ( ) ] ; terwijl ( rootGroup.enumerate ( MyThreads , true) == myThreads.length ) { MyThreads = new Thread [ myThreads.length * 2 ] ; } Nu kunt u toegang krijgen tot elke draad in uw proces een voor een . Bijvoorbeeld: System.out.println ( " thread Naam: " + MyThreads . [ 0 ] currentThread ( ) getName ( ) ; . . . myThreadId = MyThreads [ 0 ] currentThread ( ) getId ( ) op ;
|