Hallo,
Code:
Problemstellung:
3 Threads werden in der main gestartet, diese laufen bis zum Ende.
Der Scanner, in vereinfachter Form, ist dazu da um einen Notfall bei den Threads abzufangen, dass diese sofort gestoppt werden.
Das funktioniert soweit.
Frage:
Wenn die 3 Threads alle "durchgelaufen" und beendet sind, bleibt das Programm weiterhin in der main im Scanner hängen und wartet auf eine Eingabe, die aber nur im Notfall erfolgen soll, das führt dazu das dass Programm nicht terminiert!
Ziel soll sein wenn die 3 Threads beendet wurden soll die Scannereingabe nicht mehr abgefragt und auch beendet werden.
Wie ist dies zu realisieren?
danke!
Code:
Code:
import java.util.Scanner;
public class MyProgram{
public static void main(String[] args){
//hier laufen 3 Threads die nach endlicher Zeit beendet werden.
Scanner read = new Scanner(System.in); //programm bleibt hier haengen und wartet auf input, falls ein NOTFALL eintritt
//umThreads direkt zu beenden.
n=read.next();
if(n.equals("1")){
System.out.println("STOP!");
//Anweisung um Threads anzuhalten
}
}
}
Problemstellung:
3 Threads werden in der main gestartet, diese laufen bis zum Ende.
Der Scanner, in vereinfachter Form, ist dazu da um einen Notfall bei den Threads abzufangen, dass diese sofort gestoppt werden.
Das funktioniert soweit.
Frage:
Wenn die 3 Threads alle "durchgelaufen" und beendet sind, bleibt das Programm weiterhin in der main im Scanner hängen und wartet auf eine Eingabe, die aber nur im Notfall erfolgen soll, das führt dazu das dass Programm nicht terminiert!
Ziel soll sein wenn die 3 Threads beendet wurden soll die Scannereingabe nicht mehr abgefragt und auch beendet werden.
Wie ist dies zu realisieren?
danke!
Zuletzt bearbeitet: