Thread-Ende feststellen

ppcfeebel

Grünschnabel
Hallo zusammen

Ich bastle momentan an einem CPU-Test, der zuerst die Anzahl Prozessor-Kerne ausliest, und danach soviel Threads startet, wie der CPU Kerne hat. Soweit so gut. Nun möchte ich aber feststellen ob der Thread beendet ist, um danach die gebrauchte Zeit herauszufinden.

Wie kann ich das?

So sieht der Code momentan aus.
Code:
if(kerne==4) {        
        class CoreONE   implements Runnable  
      {
        public void run()  
      {
          for ( int a = 0; a < 200000; a++ )
          System.out.println( a );
           
     
      }
       }
        
        class CoreTWO   implements Runnable  
      {
        public void run()  
      {
          for ( int b = 0; b < 200000; b++ )
          System.out.println( b );
           }
       }
        
        class CoreTHREE   implements Runnable  
      {
        public void run()  
      {
          for ( int c = 0; c < 200000; c++ )
          System.out.println( c );
           }
       }
        
        class CoreFOUR  implements Runnable  
      {
        public void run()  
      {
          for ( int d = 0; d < 200000; d++ )
          System.out.println( d );
       
      }
       }
        
        Thread t1 =   new Thread( new CoreONE() );  
      t1.  start();  
        
        Thread t2 =   new Thread( new CoreTWO() );  
      t2.  start(); 
       
        Thread t3 =   new Thread( new CoreTHREE() );  
      t3.  start(); 
      
        Thread t4 =   new Thread( new CoreFOUR() );  
      t4.  start();

Vielen Dank
 
Zuletzt bearbeitet:
Threads enden mit der run-Methode. Warum also nicht einfach als letzte Anweisung in der run-Methode die benötigte Zeit ausgeben?

Ansonsten kannst Du mit Thread.join() auf das Ende eines bestimmten Threads warten.
 
Zurück