定期将地图内容转储到 java 中的文件

Periodically dump the content of a map to a file in java

我有 2 个 JSON 个文件,其中包含超过 100 万个对象。

我必须比较两个文件中的每个对象,然后在任何对象存在差异时写入文件。 (每个对象都由一个键标识,并且该键被写入一个文件)。

目前我正在使用 ExecutorService 并使用多个线程进行比较并将不匹配项写入公共 ConcurrentHashMap。

地图最后转储到一个文件中。

我想定期更新文件,而不是等待整个执行完成。

如果我希望每 2 分钟写入一次文件,我该如何实现。

我知道这可以使用另一个线程来完成,但实际上无法理解如何与 ExecutorService 一起实现。

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(() -> {
    // some code to execute every 2 minutes
}, 0, 2, TimeUnit.MINUTES);