1

如果在被监控的文件夹中同时创建 x 个新文件,Created 事件是同时触发 x 次还是一个接一个触发 x 次?

4

2 回答 2

3

filesystemwatcher 类使用内部缓冲区来存储文件更改(这可能会溢出,这将导致事件丢失),这将一个接一个地调用订阅类型的事件,直到缓冲区为空。默认情况下这是异步运行的。只要文档中描述了 SynchronizingObject 属性,就会使用默认值。您可以通过设置 SynchronizingObject 来使其行为同步,如本答案中所述。

另请注意,从文档中,即使有多个文件观察者正在观察同一个文件夹,也只有一个文件观察者会收到文件更改事件。

总结:默认情况下,这些事件存储在缓冲区中,然后由单独的线程快速连续触发,直到缓冲区为空。如果创建或更改的文件过多,则可能会由于缓冲区溢出而丢失某些更改。

于 2012-10-02T12:45:22.397 回答
0

它同时触发x多次。您可以让Created多个文件同时运行该事件。

于 2012-10-02T12:32:01.643 回答