JavaRush /Blog Jawa /Random-JV /Kepiye carane entuk dhaptar benang mati saka ThreadGroup?...
Dead_MOPO3
tingkat
Москва

Kepiye carane entuk dhaptar benang mati saka ThreadGroup? tingkat 28

Diterbitake ing grup
Inggih, bener, pitakonan dhewe ana ing judhul. Sapa sing ngerti, ngomong. Aku ketemu pilihan iki, nanging aku ora kaya iku ing kabeh lan ora bisa) public static void main(String[] args) { /* * For testing purposes */ ThreadGroup tg = new ThreadGroup( "MyThreadGroup" ); Thread subThread = new Thread( tg, "New Thread - Inactive" ); try { /* * GETTING THREADS - PROBABLY BETTER TO GET IT BY USING * getDeclaredFields() AND LOOPING TILL GET ONE OF TYPE * Thread[] SINCE A FUTURE VERSION MIGHT CHANGE THE NAME * BUT SINCE IS PACKAGE-LEVEL ACCESS, IT'S PROBABLY USED * ELSEWHERE IN THE PACKAGE, AND THIS IS JUST AN EXAMPLE */ Field field = tg.getClass().getDeclaredField( "threads" ); //NEED TO SUPPRESS ACCESS CHECKS field.setAccessible( true ); //EVEN IF SECURITY IS OFF YOU NEED THIS!!!! Thread[] tgThreads = ( Thread[] ) field.get( tg ); for ( int i = 0; i < tgThreads.length; i++ ) { if ( tgThreads[ i ] != null ) System.out.println( tgThreads[ i ].getName() + " = " + tgThreads[ i ].isAlive() ); } } catch (NoSuchFieldException nsfe) { nsfe.printStackTrace(); } catch (IllegalAccessException iae) { iae.printStackTrace(); } } Pranyata metu sing baris Thread[] tgThreads = ( Thread[] ) field.get( tg ); ora generate Uploaded kanggo kula. Aku maca sing misale jek kaya sampeyan bisa pindhah menyang System.SecurityManager lan nyetel ReflectPermission ("suppressAccessChecks"). nanging pendekatan banget hardcoded. menyang lapangan pribadi liwat refleksi ...
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION