bin noch ganz ganz neu in sachen threads...
ZitatAlles anzeigen
class ThreadusInterruptus extends Thread
{
public void run()
{
System.out.println( "Der Anfang" );while ( true )
{
if ( isInterrupted() )
break;System.out.println( "Hurra" );
try {
Thread.sleep( 500 );
}
catch ( InterruptedException e ) {
interrupt();
}
}System.out.println( "Das Ende" );
}public static void main( String args[] )
{
ThreadusInterruptus t = new ThreadusInterruptus();t.start();
try {
Thread.sleep( 2000 );
} catch ( InterruptedException e ) { }t.interrupt();
}
}
ok, was ich jetzt nicht versteh ist folgendes...
in main wird der thread durch t.start() gestartet...danach wird doch aber sofort das Thread.sleep(2000) aufgerufen
was das programm jetzt macht ist folgendes...nachdem es gestartet wurde, wird es 2 sek lang ausgeführt bevor es terminiert...
aber wenn ich den currentthread zum schlafen bring, sollte es dann nicht so sein, dass er eher 2 sekunden schlafen sollte?
bin sehr verwirrt..