Threads anhalten und fortsetzen

port29

deus.Server
Hallo,

ich habe mal folgende Frage an euch: Ich habe soetwas, wie einen manuellen Scheduler geschrieben, der die Laufzeit von mehreren Threads steuert. Jeder Thread bekommt ein Zeitfenster in dem er arbeiten kann. Wenn die Zeit abgelaufen ist, wird der Thread mit wait() angehalten und ein anderer mit notify wieder aufgeweckt. Anschließend wird wartet der Scheduler mit Thread.sleep() das Zeitfenster ab, bevor er etwas anderes macht. Das ganze funktioniert bei mir ohne Probleme.

Kurz zusammengefasst sieht der Code bei mir etwa so aus:

Code:
while(...){
oldThread.stop=true;
newThread.start();
Thread.sleep(100);
}

Die Lösung funktioniert auch wunderbar, nur gibt es an einer Stelle eine Suboptimum. Wenn der Thread fertig, aber das Zeitfenster noch nicht abgelaufen ist. In der Zeit passiert nichts.

Kann mir jemand sagen, wie ich den Event mitbekomme, dass ein Thread fertig ist und ich zu einem anderen gehen kann?
 
Also isAlive() liefert false zurück sobald die run-Methode beendet wurde, soweit ich weiß.

P.S.: Was wäre mit einem notify() bzw. notifyAll() am Ende der run-Methode?
 
Zurück