Не понимаю, почему он три раза добавляет считанные строки в одну строку, нити ведь две. Где ошибка и почему так происходит, подскажите пожалуйста?
package com.javarush.task.task16.task1629;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
public static class Read3Strings extends Thread {
String[] array = new String[3];
@Override
public void run() {
try {
// String s1 = reader.readLine();
// String s2 = reader.readLine();
// String s3 = reader.readLine();
//if (reader.ready()) {
for (int i = 0; i < array.length; i++) {
array[i] = reader.readLine();
//System.out.println(array[i]);
}
//}
} catch (IOException e) {
}
}
public void printResult() {
//System.out.print(s1 + );
for (int i = 0; i < array.length; i++) {
System.out.print(array[0] + " " + array[1] + " " + array[2]);
System.out.println();
}
}
}
public static volatile BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws InterruptedException {
Read3Strings t1 = new Read3Strings();
Read3Strings t2 = new Read3Strings();
//add your code here - добавьте код тут
t1.start();
t1.join();
t1.printResult();
t2.start();
t2.join();
t2.printResult();
}
//add your code here - добавьте код тут
}