小さなブロックに分割された作業ブロックがあります。各ブロックを NumberCruncher のインスタンスに割り当てたい (各インスタンスは一意の EndPoint でホストされ、サーバー上の特定のスレッドで実行される)。指定された EndPoint の NumberCruncher のインスタンスは、結果を txt ファイル形式で返す前に、クライアント プロキシから渡された数値をクランチします。
クライアント側からは、結果を返すのを待っている NumberCruncher のインスタンスにリンクされた EndPoints を含む 2 つのスレッドセーフ リストを保持する必要があると想定しています。より多くの作業が割り当てられるのを待っている NumberCruncher のインスタンスの 2 番目は?
これらのリストに項目を追加することに関して、サーバーからの複数の要求を処理するにはどうすればよいですか? 一度に追加できるのは 1 つだけなので、クライアントがサービスに「はい、リストに正常に追加されました。追加のリクエストを停止します」というメッセージを送信する必要があると想定しています。
編集
現在、収集した時系列で分析を実行しようとしています。チェックしたいさまざまなパラメーターを分割し、それらをさまざまなスレッドに割り当てるプログラム(Number Cruncher)を作成しました(PCのコア数によって決定されます)。次に、各スレッドは、割り当てられた入力で Number Cruncher を実行します。残念ながら、すべてのコアを使用している場合でも、これは私の PC で非常に時間がかかります。だから私はこの同じプログラムを複数のPC(サーバー)で実行し、すべてのサーバーに作業を割り当てる単一のプログラムを書きたかったのです。各シミュレーションには約 1 時間かかります。したがって、520時間の計算時間を見ています(つまり、単一のPCには適していません)。