Я новичок в потоках. Как я могу заставить 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, а затем ждет, пока другой закончит, прежде чем делать остальные?
