预定的任务流程

时间:2013-02-22 14:43:04

标签: java

我需要创建一个从某些方面检索数据的计划任务,然后执行解析 - >然后操作 - >然后创建输出文件 - >然后发送输出文件

我想使用5个工作类:MainExecutor类,Retriever类,Reader类,Builder类,Sender类 主MainExecutor类将使用 ScheduledThreadPoolExecutor 来安排Retriever。

我想让这个应用程序可扩展。我是否需要将这些类(Reader,Builder,Sender)作为一个单独的线程?

我是否需要为每个人使用线程池?

实施此计划的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

Retriever和Sender可能会阻止等待网络,Reader必须是IO密集型的,而Builder可能是CPU密集型的。所以是的,在不同的线程上运行它们是有意义的。对于所有这些,您只需要一个线程池。

这将使您的应用程序更具可扩展性,并且还可以提高性能(吞吐量)。缺点是你需要组织线程之间的通信。