對不起,我有點困惑,但我有點困惑,需要一些協助與併發。如何知道ScheduledExecutorService何時完成
,如果我有一個類中的線程池,其計算一些數值每隔10秒,如本
private final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.schedule(callable, 10, TimeUnit.SECONDS);
我怎麼能確定何時結果已經回來了。當結果好了,我需要處理的地圖,並做了一些計算,然後刪除/清空地圖
我能想到的唯一方法是用戶可觀察界面,但我猜這是不正確的做法
感謝
你爲什麼不從計劃任務中啓動的後續行動?這將是最自然的做法。 – 2014-10-07 08:22:12
看看'schedule()'方法的返回類型嗎? – Braj 2014-10-07 08:25:12
它返回一個預定的將來< integer>然而 - 這基本上不會運行一次,它會隨着數字的變化而持續運行,所以我只需要在循環中檢查計劃的future.isdone?一旦完成是真的我有一個新的結果? – Biscuit128 2014-10-07 08:27:20