我有一个BackgroundWorker,以1秒的间隔监视文件夹的文件。如果它找到文件,则会为每个找到的文件引发ReportProgress(0,fileName)。BackgroundWorker ReportProgress事件队列
在主线程上,我订阅了该事件并处理每个文件。
这就是:一个找到的文件=一个引发的事件=一个处理文件
我的问题是关于排队事件,如果主线程是缓慢的。 例如,'文件观察者'可以每秒查找并提高1000个事件,但在处理每个文件的主线程上需要1秒。所以事件排队。
这种排队在.NET中有没有限制?
感谢, 鲍尔泰克
您可以使用['FileSystemWatcher'类](http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)而不是后台工作者? – 2012-07-16 07:49:20
当频繁/重大更改发生时''FileSystemWatcher''不可靠。改变它的内部缓冲区可能会有帮助,但是它也有很大的限制。 – 2012-07-16 10:57:12