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 回答