JNotify 与轮询
JNotify vs Polling
我正在使用 Java 6,无法使用 Watch 服务。我正在寻找轮询的替代方法。那么 JNotify 与轮询有何不同?还是 JNotify 使用轮询?
JNotify 使用本机 OS 文件系统通知支持。
在 Linux 上,它使用 INotify(它的名字的灵感来源),在 Windows 上,它使用 ReadDirectoryChangesW,在 Mac 上,它使用 FSEventStream API。
我在 2005 年左右开始使用 JNotify,远早于 JVM 支持文件系统通知。
今天推荐的方法是使用 JVM 支持,但如果您不能依赖它,那也是一个不错的选择。
需要记住的一件事是 JNotify 使用的 OS 支持有时不是很好。在某些情况下,文件系统事件会被 OS 删除,您对此无能为力。
我正在使用 Java 6,无法使用 Watch 服务。我正在寻找轮询的替代方法。那么 JNotify 与轮询有何不同?还是 JNotify 使用轮询?
JNotify 使用本机 OS 文件系统通知支持。 在 Linux 上,它使用 INotify(它的名字的灵感来源),在 Windows 上,它使用 ReadDirectoryChangesW,在 Mac 上,它使用 FSEventStream API。 我在 2005 年左右开始使用 JNotify,远早于 JVM 支持文件系统通知。 今天推荐的方法是使用 JVM 支持,但如果您不能依赖它,那也是一个不错的选择。
需要记住的一件事是 JNotify 使用的 OS 支持有时不是很好。在某些情况下,文件系统事件会被 OS 删除,您对此无能为力。