2

私の質問は、ここからの他の質問に関連しています。

Java Webアプリケーションで並行して実行できる非常に複雑な計算問題に対処するための最良のアプローチ(または任意のアプローチ)を知りたいですか?私の以前の質問では、Java EE/web Java 仕様により、独自のスレッドを作成して使用することは固く禁じられていると述べられていました (実際には可能ですが、トリックを使用する必要があり、それを行うことはお勧めしません)。

私はそれについて考えていました.すべてのWebアプリケーションはそれ自体がマルチスレッドであるため、頭に浮かぶ唯一の方法は、計算の問題をマルチリクエストに変換することです. JMS?)。しかし、本当に、これが達成できるかどうかはわかりません(自分自身にリクエストを送信しています:))。では、将来そのような問題にどのように対処すればよいか(または対処することはまったく可能ですか)、誰か教えてもらえますか?

編集:質問により、例を投稿しています:

遺伝的アルゴリズムなどのヒューリスティックを使用して解決できる問題があるとします。このアルゴリズムは多くのスレッドで評価できるため、並列プログラミングを使用したいと考えています。ただし、Web ブラウザーからすべてにアクセスできる必要があり、すべてを 1 つのアプリに含める必要があるため、Web アプリケーションにする必要があります (そのため、アルゴリズムを Web アプリに埋め込む必要があります)。

これをスタンドアロン アプリケーションとして実行し、JMX、WebServices などを使用してリモートで管理できることはわかっていますが、それを 1 つの Web アプリケーションとして実現できるかどうか知りたいです。

4

1 に答える 1

0

別の投稿で指摘されているように、EE でのマルチスレッド化は、コンテナーで実行されている他のアプリケーションを侵害します。簡単な解決策は、別のマシンで別の JVM を使用し、リモート プロシージャ コールでアクセスすることです (RMI は簡単な方法です)。そうすれば、制限なしでやりたいことが何でもできます。

于 2013-04-25T13:21:21.420 に答える