Я новичок в тредах. Как я могу заставить t.join
работать, при этом поток, вызывающий его, ждет, пока не завершится выполнение t?
Этот код просто заморозит программу, потому что поток ждет своей смерти, верно?
public static void main(String[] args) throws InterruptedException {
Thread t0 = new Thready();
t0.start();
}
@Override
public void run() {
for (String s : info) {
try {
join();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.printf("%s %s%n", getName(), s);
}
}
Что бы я сделал, если бы хотел иметь два потока, один из которых распечатывает половину массива info
, а затем ждет завершения другого, прежде чем делать все остальное?