我过去曾经使用过FileSystemWatcher。但是,我希望有人能解释它在幕后的实际运作方式。
我打算在正在制作的应用程序中使用它,它将监视大约5个驱动器,甚至300,000个文件。
FileSystemWatcher是否真的在驱动器上执行“检查”-如那样,是否会导致驱动器磨损?也会影响硬盘“睡眠”的能力
这是我不明白它是如何工作的-如果就像在计时器上扫描驱动器等...,或者它在做任何事情之前都在等待来自操作系统的某种通知。
我只是不想实现将导致驱动器上的额外读取并使驱动器不休眠的操作。
最佳答案
没有那样的事。文件系统驱动程序仅根据您选择的过滤器监视计算机上运行的其他程序所请求的正常文件操作。如果存在匹配项,则它将一个条目添加到内部缓冲区,该缓冲区记录该操作和文件名。这样就完成了驱动程序请求并获得了要在您的程序中运行的事件。您将从该缓冲区获得传递给您的操作的详细信息。
因此,操作本身实际上没有发生任何事情,根本没有额外的磁盘活动。仅仅是运行的软件。开销很小,没有任何明显的减慢。
关于c# - FileSystemWatcher对硬盘驱动器有什么影响?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19320943/