如果在被监控的文件夹中同时创建了x个新文件,那么Created事件是同时触发x次还是依次触发x次?
答案 0 :(得分:3)
filesystemwatcher类使用内部缓冲区来存储文件更改(这可能会溢出,这会导致事件丢失),它会一个接一个地连续调用订阅类型的事件,直到缓冲区为空。默认情况下,这是异步运行的。只要描述了in the documentation的SynchronizingObject属性,就会使用默认值。您可以通过设置this answer.
中所述的SynchronizingObject来使其同步运行另请注意,从文档中可以看出,即使多个文件观察者正在观看同一文件夹,也只会收到文件更改事件。
总结:默认情况下,这些事件存储在缓冲区中,然后由一个单独的线程快速连续触发,直到缓冲区为空。如果创建或更改了许多文件太快,则由于缓冲区溢出可能会丢失一些更改。
答案 1 :(得分:0)
它同时发射x
次。您可以同时为多个文件运行Created
事件。