gpt4 book ai didi

java - 当线程执行时间不同时,如何执行不同的操作?

转载 作者:行者123 更新时间:2023-12-01 19:53:15 26 4
gpt4 key购买 nike

存在一个休息服务,它执行一些计算并将结果打印在 Excel 文件中,该文件作为响应返回。随着数据的增加,我们希望实现以下行为。如果文件在 3 秒内准备就绪,则返回 Excel,否则发送短信。文件稍后会邮寄给用户。

有什么建议吗,我们如何在 Java 中实现这个功能?

最佳答案

使用带有超时的Future:

public String getExel() {
CompletableFuture<String> getter = CompletableFuture.supplyAsync(() -> "result");
try {
return getter().get(3, TimeUnits.SECONDS);
} catch(TimeoutException ex) {
// invoke email sending
getter.thenAcceptAsync(result -> sendEmail(result));

// I will send you email later
return "XXx to indicate you will send him later";
}
}

public void sendEmail(String resultFromGetExel) {

}

关于java - 当线程执行时间不同时,如何执行不同的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50541972/

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