gpt4 book ai didi

Java Executor 在上一个 Callable 完成后执行一个 Callable?

转载 作者:行者123 更新时间:2023-12-02 05:09:02 33 4
gpt4 key购买 nike

我有一个自定义业务需求。我需要执行一系列服务调用。每个调用都会在数据库中创建一条新记录。我只需要在上一个服务调用完成后才执行下一个服务调用,因为新的服务调用将使用上一个服务调用在数据库中创建的记录作为输入参数。

我决定将每个服务调用包装在未来任务中,然后使用 Executors.newSingleThreadExecutor()循环执行这些任务。

请建议这是否足够,如果不够,请提出更好的解决方案?

我还需要放置 task.isDone()在执行下一个任务之前?

最佳答案

I have decided to use Executors.newSingleThreadExecutor().

考虑到您的要求,这是一个不错的选择。

Please suggest will it suffice and a better solution if it will not ??

是的,差不多就是这样。对于标准 JDK 库,这可能是您能找到的最好的库。

Also do I need to place task.isDone() before executing the next task??

没有。该执行器的 javadoc 明确指出“[...]保证任务按顺序执行,并且在任何给定时间不会有多个任务处于 Activity 状态。”

因此,在先前 Activity 的任务终止(成功与否)之前,不会启动任何任务。只需将它们塞进执行器中,它就会为你处理事情。

关于Java Executor 在上一个 Callable 完成后执行一个 Callable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499317/

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