我需要FileSystemWatcher,它可以观察相同的特定路径和特定扩展。 但路径可能是数十,数百甚至数千(希望不是:P),与扩展相同。路径和分机由用户添加。
创建数百个FileSystemWatcher并不是一个好主意,不是吗?
那么 - 怎么做? 是否可以观察/观察每个设备(HDD,SD闪存,pendrives等)? 会有效吗?我不这么认为......每个更改Windows日志文件,通过antyvirus程序扫描文件 - 它可能真的会减慢我的程序使用SystemWatcher :(
答案 0 :(得分:2)
首先尝试然后你会看到你是否遇到了麻烦。
尝试优化您甚至不知道是否存在问题的内容通常不是很有效。
答案 1 :(得分:1)
创建10,000多个FileSystemWatchers可能会导致问题,这可能是对的。如果确实如此(正如Foxfire所说 - 测试它),从简单的合并开始 - 在设置FileSystemWatchers时忽略扩展,并在获得事件后过滤事件。
如果仍然导致资源使用过多,请尝试以相同的方式智能地组合路径,甚至可能只为每个驱动器号创建一个FileSystemWatcher,并在收到事件后执行剩余的过滤。你的代码。