В общем валидатор говорит что программа работала слишком долго и была закрыта.
Хотя выглядит все в консоли как положено, строки считаны двумя потоками последовательно а не параллельно, каждый поток читает по 3 строки, вывод в консоль как и просили..
Гении мысли, взываю к вам: помогите, скажите что не так!
package com.javarush.task.task16.task1629;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Только по-очереди!
*/
public class Solution {
public static volatile BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws InterruptedException, IOException {
Read3Strings t1 = new Read3Strings();
Read3Strings t2 = new Read3Strings();
t1.start();
t1.join();
t2.start();
t2.join();
t1.printResult();
t2.printResult();
reader.close();
}
public static class Read3Strings extends Thread{
int readed = 0;
int count = 3;
StringBuilder builder = new StringBuilder();
@Override
public void run() {
try {
while(!isInterrupted() && readed < count) {
if(reader.ready()) {
builder.append(reader.readLine());
builder.append(" ");
readed++;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void printResult() {
System.out.println(builder);
}
}
}