定期将地图内容转储到 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);
我有 2 个 JSON 个文件,其中包含超过 100 万个对象。
我必须比较两个文件中的每个对象,然后在任何对象存在差异时写入文件。 (每个对象都由一个键标识,并且该键被写入一个文件)。
目前我正在使用 ExecutorService 并使用多个线程进行比较并将不匹配项写入公共 ConcurrentHashMap。
地图最后转储到一个文件中。
我想定期更新文件,而不是等待整个执行完成。
如果我希望每 2 分钟写入一次文件,我该如何实现。
我知道这可以使用另一个线程来完成,但实际上无法理解如何与 ExecutorService 一起实现。
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(() -> {
// some code to execute every 2 minutes
}, 0, 2, TimeUnit.MINUTES);