gpt4 book ai didi

java - 在所有线程(池中)完成后如何打印摘要消息?

转载 作者:行者123 更新时间:2023-11-29 10:05:54 25 4
gpt4 key购买 nike

<分区>

我有一个命令行应用程序。它运行一个循环,比如 100 次,并在循环中使用线程安排任务。我正在使用 ExecutorService,因此随时有 4 个线程在运行。

循环结束后,我想打印一条摘要消息。例如。完成所有 100 个任务所花费的时间。当我单步执行代码时,调试器直接进入摘要部分,但其他任务仍在运行。我明白这是因为每个线程都是独立运行的。那么如何仅在所有线程完成后才打印消息呢?

ExecutorService exec = Executors.newFixedThreadPool(4);

long startTime = System.currentTimeMillis();

for (int i = 0; i < 100; i++) {

Runnable requestHandler = new Runnable() {
@Override
public void run() {
try {
// call task function in here
} catch (Exception ex) {
}
}
};
exec.execute(requestHandler);
}

exec.shutdown();

long endTime = System.currentTimeMillis();

LOGGER.info("******************SUMMARY******************");
LOGGER.info("Time taken : " + ((endTime - startTime)/1000) + " seconds, "
+ ((endTime - startTime)/1000/60) + " minutes");

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com