文件系统观察程序对硬盘驱动器有什么影响
本文关键字:什么 影响 硬盘驱动器 观察 程序 文件系统 | 更新日期: 2023-09-27 18:34:33
我过去使用过FileSystemWatcher。 但是,我希望有人可以解释一下它实际上是如何在幕后工作的。
我计划在我正在制作的应用程序中使用它,它将监控大约 5 个驱动器和 300,000 个文件。
文件系统观察器是否真的在驱动器上执行"检查" - 例如,它会导致驱动器磨损吗? 它还会影响硬盘驱动器"睡眠"的能力吗
这就是我不明白它是如何工作的地方 - 如果它就像在计时器上扫描驱动器等......或者它在执行任何操作之前等待来自操作系统的某种类型的通知。
我只是不想实现会导致驱动器上的额外读取并使驱动器不休眠的东西。
没有那样的事情。 文件系统驱动程序只是根据所选筛选器监视计算机上运行的其他程序请求的正常文件操作。 如果存在匹配项,则它会向记录操作和文件名的内部缓冲区添加一个条目。 这将完成驱动程序请求并获取要在程序中运行的事件。 你将获得从该缓冲区传递给你的操作的详细信息。
因此,操作本身实际上什么都没有发生,根本没有额外的磁盘活动。 这一切都只是运行的软件。 开销很小,没有什么明显减慢。
简短的回答是否定的。FileSystemWatcher
调用ReadDirectoryChangesW
API 向其传递异步标志。基本上,当目录发生更改时,Windows会将数据存储在分配的缓冲区中。此函数返回该缓冲区中的数据,FileSystemWatcher
会将其转换为适合您的通知。