【发布时间】:2015-05-03 14:52:29
【问题描述】:
我有两个线程 t1 和 t2。他们都做了一些计算,我试图阻止主线程直到 t1 和 t2 完成。我使用 .awaitTermination() 如下所示,但问题是,尽管它是一个 if 语句,但 .awaitTermination() 进入了无限循环。
请帮助我找出正在发生的事情。我应该在不知道 t1 和 t2 完成的确切时间的情况下指定时间量吗?
executor.execute(new RunnableClass(bgr,3))
executor.execute(new RunnableClass(bgr,7))
executor.shutdown();
if (executor.awaitTermination(3, TimeUnit.SECONDS)) {
print("terminated")
}
【问题讨论】:
-
这不是“确切时间”的问题,而是您使用线程的问题。
-
@Tichodroma 请让我知道如何正确设置时间以及如何使用 .awaitTermination()
标签: java multithreading executorservice countdownlatch