gpt4 book ai didi

java - 当发生 java.nio.file.StandardWatchEventKinds.OVERFLOW 时,如何获取丢失的事件

转载 作者:行者123 更新时间:2023-11-30 11:19:27 30 4
gpt4 key购买 nike

我正忙于编写一个使用 java.nio.file.WatchService 的 Java 应用程序。

watchKey = watchService.take();

for (WatchEvent<?> event : watchKey.pollEvents()) {
// Handle the events
}

watchKey.reset();

事件被正确轮询和处理。

下次我调用watchService.take()

问题就来了

在事件处理期间发生了更多事件,因此第一个事件的类型为 StandardWatchEventKinds.OVERFLOW

我如何掌握这些事件或阻止事件丢失?重要的是我不会丢失任何事件。

最佳答案

可能的解决方案是在一个线程中获取事件,但在另一个线程中处理它们。例如,您可以使用 Executors.newSingleThreadExecutor 获得的 Executor 并将事件处理任务分派(dispatch)给它。

关于java - 当发生 java.nio.file.StandardWatchEventKinds.OVERFLOW 时,如何获取丢失的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23221720/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com