【发布时间】:2013-06-18 10:55:02
【问题描述】:
我有一个同步执行路径,它需要在给定的时间范围内完成或超时。假设我有一个带有 main() 方法的类,在该类中我调用方法 A(),该方法又调用 B(),而该方法又调用相同或不同类的 C() .....所有同步而不使用外部资源,如数据库、Web 服务或文件系统(其中每个都可以使用 TxManager 或相应的超时 API 独立超时)。所以它更像是 CPU 或内存密集型计算。如何在 Java 中为其超时编写代码?
我查看了 TimerTask,但更多的是使流异步和调度任务。还有其他建议吗?
【问题讨论】:
-
ExecutorService和Callables 可能是!!! -
这是一个迭代任务吗?如果您的超时已到,您能否检查每次迭代?
-
我更多的是寻找一个通用的解决方案,而不是让它具体实现......因为可能有一个计算可能需要足够长的时间才能完成。
标签: java timeout synchronous