Hallo,
ich möchte ein Programm schreiben, in dem ein Thread hochzählt. Dieses Hochzählen soll aber zu jedem Zeitpunkt abgebrochen werden können.
Mein Ansatz ist bisher, dass ich einen Thread laufen lasse, der hochzählt, während ein zweiter Thread auf die Eingabe von "Abbruch" wartet. Wenn dann "Abbruch" eingegeben wird, soll ein boolean BlnAbbruch, der auch im Zählthread vorhanden ist, auf true gesetzt werden um das Hochzählen abzubrechen.
Falls das möglich ist, würde ich noch gerne im "ThreadAbbruch" einen zweiten boolean definieren, mit dem man das Hochzählen pausieren kann. Also dass es zwei Variablen gibt, die ich im einen Thread setzten und im anderen Thread verwenden kann.
Vielen Dank für eure Hilfe im Voraus.
ich möchte ein Programm schreiben, in dem ein Thread hochzählt. Dieses Hochzählen soll aber zu jedem Zeitpunkt abgebrochen werden können.
Mein Ansatz ist bisher, dass ich einen Thread laufen lasse, der hochzählt, während ein zweiter Thread auf die Eingabe von "Abbruch" wartet. Wenn dann "Abbruch" eingegeben wird, soll ein boolean BlnAbbruch, der auch im Zählthread vorhanden ist, auf true gesetzt werden um das Hochzählen abzubrechen.
Falls das möglich ist, würde ich noch gerne im "ThreadAbbruch" einen zweiten boolean definieren, mit dem man das Hochzählen pausieren kann. Also dass es zwei Variablen gibt, die ich im einen Thread setzten und im anderen Thread verwenden kann.
Vielen Dank für eure Hilfe im Voraus.
Code:
public class ThreadAusgabe {
public void start() {
int i;
for(i=0;BlnAbbruch = false;i++) {
System.out.println(i);
Thread.sleep(5000);
}
}
}
public class ThreadAbbruch implements Runnable{
public void run() {
boolean BlnAbbruch = false;
while(BlnAbbruch == false) {
Scanner ScnAbbruch = new Scanner(System.in);
if(ScnAbbruch.equals("Abbruch")) {
System.out.println("Das Programm wird abgebrochen.");
BlnAbbruch = true;
}else {
System.out.println("Sie haben eine ungültige Eingabe gemacht. Bitte geben Sie \"Abbruch\" ein.");
}
}
}
}