sbo*_*ook 45 java nio watchservice
WatchService看起来是一项很棒的技术,但它在我测试过的OS X和Linux系统上运行速度太慢了.为了增加对伤害的侮辱,它似乎也没有得到所有事件的通知.
这是我自己的代码和Oracle的规范示例的情况.(http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java)
我认识到OS X OpenJDK端口不确定此功能(请参阅https://wikis.oracle.com/display/OpenJDK/Mac+OS+X+Port+Project+Status)
有没有人在生产中成功使用它?
mak*_*akc 35
如果我改变,我会有更好的响应时间
folder.register(watcher, StandardWatchEventKinds.ENTRY_MODIFY);
Run Code Online (Sandbox Code Playgroud)
至
folder.register(watcher, new WatchEvent.Kind[]{StandardWatchEventKinds.ENTRY_MODIFY}, SensitivityWatchEventModifier.HIGH);
Run Code Online (Sandbox Code Playgroud)
kar*_*old 29
JDK 7还没有针对MacOS的WatchService的本机实现.它不使用本机文件系统事件,而是使用回退sun.nio.fs.PollingWatchService,它定期遍历文件系统并检查树中每个文件和子目录的最后修改时间戳.我也发现它非常缓慢.
WatchService for Mac有一个原生实现:
http://code.google.com/p/barbarywatchservice/
我自己没试过用它.
| 归档时间: |
|
| 查看次数: |
9066 次 |
| 最近记录: |