Для каждого файла создай нить ReadThread и запусти ее == false А следующий пункт - после запуска каждая нить ReadThread должна создать свой поток для чтения из файла == true Не понял двух вещей - что не устраивает во 2 пункте. И как может существовать следующая ситуация - нить запущена и создала свой поток записи, но не создана (пункты 2 и 3 валидатора)? Если изменить ввод имен (строки 16-22) на
while (true){
            String fileName = reader.readLine();
            if (fileName.equals("exit")){
                break;
            }
            ReadThread thread = new ReadThread(fileName);
            thread.start();
        }
то валидатор говорит, что все нормально. Может быть валидатор стоит поправить?