Ich muss Swinger unterbrechen, aber wenn der Thread ein Fragment läuft, sollte es danach unterbrechen. Etwas wie folgt aus:Java - vor Interrupt schützen SwingWorker
public class worker extends SwingWorker<Integer, String>{
//(...) constructors and everything else
protected Integer doInBackground() throws Exception{
//Code that can be interrupted
while(true){
//(...) more code that can be interrupted
//This shouldn't be interrupted, has to wait till the loop ends
for(int i=0; i<10; i++){
//(...) more code that can be interrupted
}
}
}
Unterbrechung der Arbeiter mit:
Worker worker = new Worker();
worker.execute();
worker.cancel(true);
Ich habe synchronisierte Blöcke versucht, aber nicht sicher, ob das nicht oder ich bin einfach funktioniert es falsch zu machen.
Gibt es einen Weg? Vielen Dank!
Wie in [diese Antwort] (https://stackoverflow.com/a/671053/4756299) erwähnt, unterbrechen Sie einen Thread nicht. Sie beenden den Thread in einer kontrollierten Art und Weise. –