2

我的问题与我的其他问题有关

我想知道处理可以在 Java Web 应用程序中并行运行的非常复杂的计算问题的最佳方法(或任何方法)是什么?在我之前的问题中,有人指出,由于 Java EE/web java 规范,严格禁止创建和使用自己的线程(实际上,这是可能的,但需要使用技巧,不建议这样做)。

我正在考虑它,并且由于所有 Web 应用程序本身都是多线程的,我想到的唯一方法是以某种方式将我的计算问题转换为多请求,所以每个请求都有一部分工作要做(也许在JMS?)。但是,真的,我不确定这是否可能实现(向我们自己发送请求:))。那么有人可以告诉我将来应该如何处理这样的问题(或者完全有可能处理它)?

编辑:由于询问,我发布了示例:

让我们假设我们有一个可以通过使用启发式算法来解决的问题,例如遗传算法。该算法可以在多个线程中进行评估,因此我们希望使用并行编程。然而,我们需要让它成为 web 应用程序,因为一切都应该可以通过 web 浏览器访问,并且我们希望将所有东西都放在一个应用程序中(因此算法应该嵌入到我们的 web 应用程序中)。

好的,我知道我们可以将其作为独立应用程序并使用 JMX、WebServices 或其他远程管理它,但我想知道我们是否可以将其实现为一个 Web 应用程序。

4

1 回答 1

0

正如另一篇文章中所指出的,EE 中的多线程会侵犯容器中运行的其他应用程序。简单的解决方案是在另一台机器上使用单独的 JVM,并使用远程过程调用(RMI 很简单)访问它。这样你就可以不受限制地做任何你想做的事情。

于 2013-04-25T13:21:21.420 回答