WatchService上的Java跟踪声明
此API不适用于索引硬盘驱动器。大多数文件系统 实现具有对文件更改通知的本机支持。该 Watch Service API在可用的情况下利用此支持。 但是,当文件系统不支持此机制时,Watch 服务将轮询文件系统,等待事件。
我的问题:
如果监视的目录不根目录(某个子目录),并且文件系统不支持I / O事件通知,则WatchService
实现正在轮询文件系统,这种轮询是否会减慢整个系统或只是收听应用程序?
或者,换句话说,考虑到需要服务执行轮询以检测更改的文件系统,是否有一些阈值(目录深度,文件数量等)使用此技术成为系统方面的问题性能(开始显着影响操作系统性能)?
注意:我了解监视高度更改的目录会影响应用程序 busyness 响应事件并需要更多CPU,而不管文件系统是否轮询。我更感兴趣的是监视系统数据文件夹(例如,用户的文档目录)。