Hallo,
für ein rein Textbasiertes Programm brauche ich die Möglichkeit zur Laufzeit einige Kommandos an das Programm weiterzureichen.
Im Moment verwende ich dazu folgendes simples Konstrukt:
Mein Problem damit ist, dass ich teilweise auch neue "Endlosthreads" starte und danach keine weiteren Befehle mehr eingeben kann. Irgendwie scheint ein neu gestarteter Thread den stdin zu "übernehmen". Gibt es irgendetwas das man dagegen tun kann?
für ein rein Textbasiertes Programm brauche ich die Möglichkeit zur Laufzeit einige Kommandos an das Programm weiterzureichen.
Im Moment verwende ich dazu folgendes simples Konstrukt:
Java:
while(true){
System.out.print("> "); System.out.flush();
line = in.readLine().toLowerCase();
if (line.startsWith("quit")|| line.startsWith("exit")) {
break;
}else if(line.startsWith("somethingtohappen")){
//do something
}else{
//print a list of all commands
}
}
Mein Problem damit ist, dass ich teilweise auch neue "Endlosthreads" starte und danach keine weiteren Befehle mehr eingeben kann. Irgendwie scheint ein neu gestarteter Thread den stdin zu "übernehmen". Gibt es irgendetwas das man dagegen tun kann?