【发布时间】:2016-07-01 04:15:36
【问题描述】:
我正在使用 executorservice,每个 webservice 调用都会产生大约 9-10 个 Callable 任务并提交到 executorService 线程池。应用程序有 1 个 executorService,线程池大小为 100。 当我提交可调用对象时,我有 2 个 For 循环。外部循环运行直到指定的超时到期或已完成的哈希集大小 == 提交的任务大小;并且内部循环通过可调用对象,如果 isDone()== true 则将它们收集在“已完成”哈希集中。当外循环条件失败时,我遍历“已完成”哈希集中的可调用对象并聚合结果。 问题是我确信有一个比使用 2 个循环更优雅的解决方案。
如果所有任务完成或超时到期,我可以得到通知的最佳方式是什么?任何框架、库等或设计模式?
【问题讨论】:
-
更优雅的解决方案是什么?您只指定了一个实现,而不是一个问题。
标签: java multithreading concurrency executorservice