> Wieso liest du denn mit read() blockierend ein?
da es mir um die theoretischen Möglichkeiten geht, stellt sich diese Randbedingung nicht
für den Originalposter ist das allerdings eine deutlich einfachere Alternative als den Robot oder?
guter Tipp von dir
einfach gar nicht read()-en sondern available()-n,
wenn innerhalb von 5 sec Daten da sind, dann diese lesen, sonst davon ausgehen, dass nichts eingetippt wurde,
dürfe ganz ohne Threads laufen, das Hauptprogramm kann mit
Thread.sleep(100); 100 ms schlafen gelegt werden,
das 50x, zwischendurch mit available() nachschauen, dann sind 5 sec vorbei
-----
meine Frage bezieht sich aber durchaus auf die Situation, wenn read() schon läuft,
Stream beenden ist etwas drastisch, dann dürfte wohl der wartende Thread wieder erwachen,
aber gehts auch mit weiterlebenden Stream?
mir fällt auf die Schnelle nur System.in als so wichtigen Stream ein, der nicht beendet werden sollte,
aber auch allgemein interessant