如何Jnotify作品(How does Jnotify works)

2019-09-20 03:17发布

我能够使用Jnotify听事件文件cration,修改等等。我关心的是Jnotify是如何工作的。 我的意思是它使用得到事件。 它是安全的资源用途refrence使用。 -我在另一个SO问题阅读https://stackoverflow.com/questions/11100003/why-does-jnotify-consume-so-much-resources -它消耗大量的资源。

我可以解决我的问题的另一种方式是一个while循环,直到一个条件,那么程序被关闭。

这将是更好地使用消耗更少的资源。

Answer 1:

内核linnotify会谈得到通知的文件系统的变化。 没有投票,内核通知上更改订阅的文件夹。

jnotify是围绕libjnotify JNI封装。

不过,如果你使用的是Java 7,所有这些都是历史,新的Java文件I / O(NIO.2)包替代。



Answer 2:

从现场 ...

JNotify Linux支持

JNotify Linux的API是围绕Linux的inotify的API瘦包装。 由于Linux的inotify API不支持目录递归听,JNotify通过createing的inotify的手表上的监控目录(透明)下的每个子目录添加此功能。 这个过程需要时间其是直到树中的目录被递归地观看的数目,且需要系统资源,即 - 的inotify手表,其是有限的,在默认情况下每进程8192只手表。

这些限制都记录。 还提供了有关实施的想法。

你的问题是有关文件中更改监听器在Java中 ,高投答案有DefaultFileMonitor ,从Apache的百科全书。 我建议你给它一个尝试。



文章来源: How does Jnotify works
标签: java jnotify