我是线程新手。我如何才能让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
数组,然后等待另一个线程完成,然后再执行其余的操作,我该怎么办?
https://stackoverflow.com/questions/1908515
复制相似问题