Я пытаюсь параллельно выполнить мой код, но теперь возникла проблема.
Код без параллельного выполнения ожидает ввода (1), а затем он что-то печатает (2).
Теперь я выполняю свой код параллельно с помощью таймера (task2) и для ввода (1) я получил еще один цикл.
Теперь, если я пытаюсь что-то записать, но я недостаточно быстр, вход не читает весь ввод, который был прерван задачей 2 с распечаткой.
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static PrintStream out = new PrintStream(System.out);
static void test1(BufferedReader in, PrintStream out) throws IOException {
String input = in.readLine();
if (input.equals("test"))
System.out.println("true input");
else System.out.println("false input");
}
public static void main(String[] args) throws IOException {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
while (true) {
System.out.println("print");
Thread.sleep(1000);}}}, 1000);
while (true)
test1(in, out);
}
https://imgur.com/iyIdWeA