Hi!
ich habe eine Klasse geschrieben die einen bestimmten Zeitraum warten soll, dann etwas ausführen und danach wieder warten soll.
Das Ausführen klappt soweit, mein Problem ist das unterbrechen der warterei:
Hier noch der Timer:
Theoretisch sollte es funktionieren, aber das tut es nicht.
Was mach ich falsch?
ich habe eine Klasse geschrieben die einen bestimmten Zeitraum warten soll, dann etwas ausführen und danach wieder warten soll.
Das Ausführen klappt soweit, mein Problem ist das unterbrechen der warterei:
Java:
public class Klasse{
private Thread timer = null;
private boolean running = true;
private Klasse() {
while(running) {
// Timer wartet 2 sekunden und beendet thread
timer = new Thread(new Timer(2000));
timer.start();
try {
timer.join();
} catch (InterruptedException e1) {
running = false;
}
// hier etwas ausführen
ichMachWas();
}
}
public static void main(String args[]) {
Klasse main = new Klasse();
}
protected void stopTimer() {
timer.interrupt();
}
Java:
public class Timer implements Runnable {
private long millis = 0;
public Timer(long millis) {
this.millis = millis;
}
@Override
public void run() {
try {
System.out.println("warte " + millis + "ms.");
Thread.sleep(millis);
System.out.println("habe " + millis + "ms gewartet");
} catch (InterruptedException e) {
System.out.println("got interrupted!");
}
}
}
Theoretisch sollte es funktionieren, aber das tut es nicht.
Was mach ich falsch?
Zuletzt bearbeitet: