Scala でリフレクションを並列処理と組み合わせて使いたいのですが、リフレクションのスレッド セーフの欠如に悩まされています。そのため、各タスクを(スレッドではなく)独自のプロセスで実行することを検討しています。これを行う簡単な方法はありますか?
たとえば、.par
スレッドではなくプロセスを生成するように構成する方法はありますか? fork
または、クロージャーを取得して新しいプロセスで実行する関数はありますか?
編集:先物は明らかに良い方法です。ただし、それらを別々のプロセスで実行する方法を理解する必要があります。
編集 2: Akka の「fork-join-executor」ディスパッチャーを使用している場合でも、同時実行の問題が発生しています。これは、プロセスをフォークする必要があるように聞こえます。ただし、ManagementFactory.getRuntimeMXBean().getName()
Futures 内で実行すると、すべてが同じプロセス内にあるように見えます。これは、実際のプロセス レベルの並列処理を確認する正しい方法ですか? 正しい Akka ディスパッチャーを使用していますか?
編集 3: リフレクションが最悪だと思います。残念ながら、必要なライブラリで使用されています。