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目录轮询策略的主要内容,如果未能解决你的问题,请参考以下文章

java cache过期策略两种实现,一个基于list轮询一个基于timer定时

负载均衡策略之轮询策略

负载均衡策略之轮询策略

负载均衡策略之轮询策略

干货 | JAVA面试题(架构篇)

Dubbo加权轮询负载均衡的源码和Bug,了解一下?