Java ScheduledFuture不';不要等待任务完成

Java ScheduledFuture不';不要等待任务完成,java,Java,我有问题。我正在使用以下代码: ScheduledExecutorService tradingPool = Executors.newScheduledThreadPool(1); Runnable runTradingTask = () -> { new TradingDriver().run(); }; ScheduledFuture<?> scheduledTradingFuture = tradingPool.scheduleAtFixedRate(runTr

我有问题。我正在使用以下代码:

ScheduledExecutorService tradingPool = Executors.newScheduledThreadPool(1);
Runnable runTradingTask = () -> {
    new TradingDriver().run();
};
ScheduledFuture<?> scheduledTradingFuture = tradingPool.scheduleAtFixedRate(runTradingTask, 0, 1, TimeUnit.SECONDS);
如您所见,它打印了2个“已开始”,这意味着在第一次运行未完成时,另一次运行将开始。 现在我看到了这篇文章:,但我可以看到,ScheduledFuture并不等待完成


如何在执行间隔1秒的时间内连续运行
TradingDriver.run()

使用scheduleWithFixedDelay而不是scheduleAtFixedRate

@A.Vreeswijk我更新了答案这看起来仍然不是最干净的解决方案。根据:,我的函数应该等待。我宁愿使用
ScheduledExecutor
:)@A.Vreeswijk获得答案,我再次更新了它:d
Started
Started
Ended
Started
Ended
Started
Ended
Started