Hi Leute,
ich möchte eine Methode nach einer bestimmten Zeit abbrechen, da es sein könnte dass sie hängen geblieben ist. Das Problem ist, ich kann/darf die Methode nicht verändern, sondern sehe praktisch nur den Methodenaufruf und die abstrakte Oberklasse und Obermethode (super), die ich verändern könnte.
Eine Idee wäre die Methode in einem zweiten Thread aufzurufen und diesen dann nach einer bestimmten Zeit mit "stop()" abzubrechen, was aber wohl nicht so schön wäre. Ich weiß zwar das in der aufzurufenden Methode nicht auf Laufwerke zugegriffen wird (keine Deadlocks möglich), aber wie sieht dass dann mit den Objekten aus, die von der Methode erzeugt wurden? Werdenm die sauber vom GarbageCollector abgeräumt?
Dass die Obermethode nach einer bestimmten Zeit eine art Timeout-Exception schmeißt wäre nicht möglich oder?
Fällt euch was gutes dazu ein?
Danke schonmal im Voraus!
Gruß Nova
ich möchte eine Methode nach einer bestimmten Zeit abbrechen, da es sein könnte dass sie hängen geblieben ist. Das Problem ist, ich kann/darf die Methode nicht verändern, sondern sehe praktisch nur den Methodenaufruf und die abstrakte Oberklasse und Obermethode (super), die ich verändern könnte.
Eine Idee wäre die Methode in einem zweiten Thread aufzurufen und diesen dann nach einer bestimmten Zeit mit "stop()" abzubrechen, was aber wohl nicht so schön wäre. Ich weiß zwar das in der aufzurufenden Methode nicht auf Laufwerke zugegriffen wird (keine Deadlocks möglich), aber wie sieht dass dann mit den Objekten aus, die von der Methode erzeugt wurden? Werdenm die sauber vom GarbageCollector abgeräumt?
Dass die Obermethode nach einer bestimmten Zeit eine art Timeout-Exception schmeißt wäre nicht möglich oder?
Fällt euch was gutes dazu ein?
Danke schonmal im Voraus!
Gruß Nova