Schreibe gerade ein Applet,welches auf max 10.000.000 Datensätze eine Berechnung ausführt, die ziemlich rechenintensiv ist und somit sehr viel Zeit in Anspruch nimmt.
Wie kann ich die Berechnung abbrechen?
Habe die Klasse als Thread implementiert, aber ein Beenden durch Thread.interrupt() oder durch eine eigene Methode Thread.cancel (welche eine Boolean Variable innerhalb der Berechnung setzt) schlagen fehl.
Wenn ich im Applet ActionListener implementiere und dort die Methode Thread.cancel aufrufe, ist trotzdem die Auslastung so hoch, dass die Methode Thread.cancel nach Click auf Cancel Button erst zum Zuge kommt, wenn eh schon die Berechnung abgeschlossen ist.
Mit keyListener habe ich auch schon experimentiert, aber ohne Erfolg. Ein Abbrechen mittels ESC oder aehnlichem wird erst nach der Berechnung wahr genommen.
Wäre eine Möglichkeit, den Thread hin und wieder in eine Warteschleife zu stellen?(Gefällt mir nicht sonderlich, da die Berechnung ja noch länger dauern würde).
Irgendwelche Ideen?
thx