1

WatchService上的 Java 跟踪指出

此 API 不是为索引硬盘驱动器而设计的。大多数文件系统实现都对文件更改通知提供本机支持。Watch Service API 在可用的情况下利用此支持。但是,当文件系统不支持这种机制时,Watch Service 会轮询文件系统,等待事件。

我的问题 :

如果监视的目录不是根目录(某些子目录),并且文件系统不支持 I/O 事件通知,因此WatchService执行是轮询文件系统,那么这种轮询会减慢整个系统还是只是监听应用程序?

或者,换句话说,考虑到需要服务执行轮询以检测更改的文件系统,是否存在一些阈值(目录深度、文件数量等),使用此技术成为系统性能方面的问题(启动显着影响操作系统性能)?

注意:我知道监控高度变化的目录会影响应用程序响应事件的繁忙度,并且需要更多的 CPU,而不管文件系统轮询是否。我对监控系统数据文件夹(例如,用户的文档目录)更感兴趣。

4

0 回答 0