问题描述
我想安排一个在任务完成后定期执行的任务。以前我使用了 scheduledexecutorservice.scheduleWithFixedDelay
,但现在在 vertx 中我在考虑它是否会导致任何问题,因为 vertx 已经将线程用于事件循环和工作顶点。
我检查了 Vertx.setPeriodic
,但它只是定期执行,没有检查或等待任务完成后再安排其他任务。
通过目前探索的所有选项,我有一个解决方法,我使用 Vertx.setTimer
来安排任务,并在完成时在处理程序中再次调用 Vertx.setTimer。
谁有其他更好的解决方案,请指导我。
Vertx 版本 - 3.9.4
解决方法
据我所知,ScheduledExecutorService.scheduleWithFixedDelay
不会对 Vert.x 造成任何问题,您可以继续使用它。
不过,您建议在回调中设置计时器是解决该问题的更好方法。