1

私は非同期計算の配列で動作するアプリケーションに取り組んでいます。

ジョブの作成方法は次のとおりです。

    List<F.Promise<PredictionCalculator>> promises = new ArrayList<F.Promise<PredictionCalculator>>();
    predictWithJobResult pj = new predictWithJobResult(parameter).now;
    promises.add(pj)

これを n 回実行し、ジョブをキューに追加した後、次のコードを実行します。

promises.notifyAll();

ジョブが実行され始めているので、私の問題は、このジョブが 60 分ごとに実行されていることです。そのため、「x」パラメータですでに実行中のジョブがある場合は、このジョブをキューに再度追加することをスキップする必要があります。

私の質問は、実行中のジョブとそのパラメーターを照会するにはどうすればよいですか? 出来ますか?

4

2 に答える 2

3

実行中のジョブ キュー オブジェクト (Singleton) を作成してみませんか。実行前にジョブがキューのパラメーターをチェックし、実行中に自身を追加し、終了時に自身を削除するクエリを実行できます。

于 2012-04-26T14:11:49.720 に答える
1

Promise からジョブを取得する簡単な方法はありません。できることは、リストの代わりに Map,predictWithJobResult> を使用してプロミスを保存し、このマップを使用してプロミスからジョブを検索することです

于 2012-04-27T07:06:45.960 に答える