Witam
Odrębny wątek zajmuje się odczytywaniem danych z wejścia standardowego. Załóżmy że wątek główny działa w pętli nieskończonej i korzysta z danych zwróconych przez wątek odczytujący. Ale co w sytuacji gdy zatrzymam program zamykając okno aplikacji, jak poprawnie zamknąć zasób Scannera?
class SourceOfCMD implements Callable<String> {
private Scanner scanner;
public SourceOfCMD() {
scanner = new Scanner(System.in);
}
@Override public String call() {
try {
System.out.println("Wprowadz komende:");
String s = scanner.nextLine();
return s;
}
catch(NoSuchElementException e) {
System.out.println(e);
System.exit(-1);
}
finally {
}
return null;
}
}
public class Main {
public static void main(String[] args) throws Exception {
while(true) {
...
}
}
}