我有一個Callables和一個ExecutorService的集合。當我調用All時,我會返回Future對象的列表。如何判斷哪個Future對象映射到未來完成之前的哪個Callable?我可以告訴後來因爲Java併發性:如何判斷哪個Future在處理期間屬於哪個Callable?
代碼:
ExecutorService es = .....;
Collection<Callables> uniqueCallables = .....; // each Callable is unique!
List<Future> futures = es.invokeAll(uniqueCallables);
// TODO--find unique Future A which is the future for Callable A!
出於興趣,您爲什麼需要這些信息? – 2012-04-24 19:48:33
期貨可能(將)在不同的時間完成,也許分開幾分鐘。我通過ID區分不同類型的任務。其他人可能想要運行相同的任務(通過ID)bt沒有意識到它已經在進行中。 invokeAll是一個糟糕的選擇 - 最終以提交進行,因爲invokeAll在所有任務完成/超時之前不會返回。 – CStepnitz 2012-04-25 19:20:58