Java目录轮询策略
Posted
技术标签:
【中文标题】Java目录轮询策略【英文标题】:Java directory polling strategy 【发布时间】:2011-08-09 18:52:19 【问题描述】:有一个目录,文件在不可预知的时间到达,但假设概率分布是正态的。
轮询的平均间隔必须为 1 分钟。
是否存在一些策略 - 例如更改接近 20%(+ 或 -)的轮询间隔或更好的轮询间隔? 如果是 - 如果可能,请指出 java 中的算法
【问题讨论】:
我在理解您的问题时遇到了一些困难,但我还是会试一试:由于文件的到达是不可预测的(完全随机),因此下一次到达时间绝不取决于最后到达时间。另外,由于平均轮询间隔必须为 1 分钟,唯一合理的策略是每隔一分钟轮询一次。 【参考方案1】:您可能想查看FileAlterationMonitor 或JNotify 或NIO(仅限Java 7),而不是轮询自己。
【讨论】:
【参考方案2】:这对您来说可能还为时过早,但 Java 7 有一个新类 WatchService 用于监视目录的更改。
【讨论】:
Java 7 于 2011 年 7 月 28 日正式发布 :) 我已经使用新的 WatchService 东西几个月了,我真的很喜欢它。这几乎是即时通知。【参考方案3】:您也可以使用awaitility
来实现此功能。请查看here
【讨论】:
以上是关于Java目录轮询策略的主要内容,如果未能解决你的问题,请参考以下文章