0

我的要求是这样的。有一个中央存储库,用户将在其中放置多个 xml 文件,我们的目录观察服务(简单的 java 类)将获取 xml 文件并对其进行处理。

在这种情况下,我们如何进行并发处理?我们应该进行一对一的 xml 处理还是并发处理?

通常在现场项目中我们应该采取哪种方法?

4

2 回答 2

0

在这种情况下,我们如何进行并发处理?

目录观察服务可以挑选新文件并将它们放在一个队列中,多个线程在其中挑选文件并根据需要对它们进行操作。

我们应该进行一一的xml处理还是并发处理?

这取决于您希望以多快的速度完成处理以及其他因素,例如整个处理过程是分开的,还是处理过程需要访问其他已经存在的文件,您在某些时候是否需要等待其他资源?

通常在现场项目中我们应该采取哪种方法?

并发处理可能更快,但可能需要更多内存

于 2013-03-01T07:54:50.887 回答
0

在这种情况下,到目前为止,您最大的成本将是 IO,除非您正在对同样昂贵的数据做一些事情(比如与另一个服务交谈)

您可能会发现您生成了许多线程,并且大多数线程没有做任何事情,因为您处理已加载(在内存中)文件的速度比实际加载它们的速度要快。

我建议你先看看你是否真的需要这样做,如果你真的可以通过实现并发方法获得任何东西。您可能会发现在吞吐量方面没有获得任何有意义的东西,但是您获得了额外的代码复杂性。

于 2013-03-01T08:54:09.050 回答