вывод правильный но не принимает,
как я понял два потока блокирует друг друга, главный поток запускает 2 дочерние потоки,
метод start вызывает метод run, в методе run вызывает текущий поток метод join другого потока и ждёт завершения этого потока точно также делает и другой поток и оба ждёт завершения друг друга поправьте если я не прав и что не так в моем решении
package com.javarush.task.task16.task1625;
/*
Взаимная блокировка
*/
public class Solution {
static Thread t1 = new T1();
static Thread t2 = new T2();
public static void main(String[] args) throws InterruptedException {
t1.start();
t2.start();
t1.interrupted();
}
public static class T1 extends Thread {
@Override
public void run() {
try {
t2.join();
System.out.println("T1 finished");
} catch (InterruptedException e) {
System.out.println("T1 was interrupted");
}
}
}
public static class T2 extends Thread {
@Override
public void run() {
try {
t1.join();
System.out.println("T2 finished");
} catch (InterruptedException e) {
System.out.println("T2 was interrupted");
}
}
}
}