• bin noch ganz ganz neu in sachen threads...


    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..

    mfg funkywon

  • Zitat von funkywon

    bin noch ganz ganz neu in sachen threads...

    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..

    Du hast 2 Threads in deinem programm: der eine trägt den namen 'main' und wurde beim programmstart erzeugt. Den anderen hast du mit t.start(); initiert.

    Thread.sleep(int) bezieht sich immer auf den Thread, der die nachricht sendet: in diesem fall ist das der main thread, der dann halt 2 sekunden schläft bevor er erst den anderen thread und dann sich selbst beendet.

  • Wenn nach Beendigung des Hauptthreads noch andere Threads laufen (die keine daemons sind), dann werden diese nicht terminiert, sondern es wird auf deren Beendigung gewartet. Sonst stimmt das, was a9bejo gesagt hat.

  • Zitat von Ringding

    Wenn nach Beendigung des Hauptthreads noch andere Threads laufen (die keine daemons sind), dann werden diese nicht terminiert, sondern es wird auf deren Beendigung gewartet. Sonst stimmt das, was a9bejo gesagt hat.


    hab auch nie gesagt, das alle thread automatisch terminiert werden! der code von funkywon macht das aber

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!