Lange Rede kurzer Sinn: Ich habe eine Sammlung von Future
Objekte. Einige von ihnen sind bereits in Arbeit, andere nicht. Ich wiederhole die Sammlung und rufe future.cancel(false)
an, die gemäß der Dokumentation alle Future
s abbrechen sollte, die gerade nicht laufen, aber alle anderen erlauben sollten, abzuschließen.Java cancel Zukunft - Wie man auf Ende wartet?
Meine Frage ist: Woher weiß ich, wann eine bestimmte Future
abgeschlossen ist, nachdem ich future.cancel(false)
aufgerufen habe? future.isDone()
gibt immer true
zurück, weil cancel()
in der Tat vorher aufgerufen wurde und future.get()
immer eine CancellationException
wirft, obwohl die Future
noch läuft.
Irgendwelche Vorschläge?