很抱歉我有些困惑,但我有点困惑,需要一些并发的帮助。
如果我在一个类中有一个线程池,它每10秒计算一次这样的值,比如这个
private final ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.schedule(callable, 10, TimeUnit.SECONDS);
如何确定结果何时返回。结果准备好后,我需要处理地图并进行一些计算,然后删除/清空地图
我能想到的唯一方法是使用Observable接口,但我猜这不是正确的方法
由于
答案 0 :(得分:1)
您可以使用ScheduledFuture并调用isDone(因为ScheduledFuture扩展了Future),就像这样
ScheduledFuture schedule = executorService.schedule(callable, 10, TimeUnit.SECONDS);
schedule.isDone()