私の質問は非常に単純です:
私はUbuntuに取り組んでおり、Javaで(Eclipse IDEを使用して)プログラムを作成しました。このプログラムはどこにも何も読み書きしません。多くの計算を行い、自家製のクラスの多くのインスタンスを作成するだけです。プログラムの出力は単純です:端末にA、B、またはCを書き込みます(ランダムプロセスと見なします)
Aを1000000回取得し、BとCを取得した回数を数えるまで、プログラムを繰り返し実行する必要があります。実行しましたが、動作しますが、遅すぎます。
例:出力は次のとおりです: "A:1000000 B:1012458 C:1458"
これは私があなたの助けを必要とするところです:
プログラムを並列化したい。マルチスレッドで試しましたが、速く動作しませんでした。したがって、各シミュレーションは独立していますが、マルチプロセッシングを作成したいと思います。たとえば、10個のプロセスを作成し、Aが100000回表示されるまでプログラムを実行するように依頼します。(つまり、10 * 100000 = 1000000が必要です)問題は、BとCの総数を知る必要があり、今のところ、それぞれの値を10個取得したことです。
どのようにできるのか?ProcessBuilder( http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html )を試しましたが、どのように機能するのかわかりません。
私がこれまでに持っている唯一のアイデアは、ターミナルでコマンド「java Main&java Main&java Main&java Main&java Main&java Main&java Main&java」を使用してプログラム(Aから100000まで)を10回要求することです。 Main&java Main&java Main "しかし、BとCのオカレンスの合計を手動で作成する必要があります。これを行うためのより良い方法があると確信しています!(A)、B、Cの値で10個のファイルを作成し、それらをすべて読んで要約することを考えました。整数を合計するだけでも、本当に大変な作業ですよね。
転送していただきありがとうございます、私は助けを待っています:D
ps:簡単に答えるために、到達したいAIの数を表すint引数のみを取る「prog」という名前のプログラムがあると考えてみましょう。