1
我有一个应用程序,其中有一个Timer
和FileSystemWatcher
用于批处理每5分钟更改的文件。已更改文件的批处理
FileSystemWatcher
在更改文件时会引发事件,并且只有在检查队列中是否存在文件路径后,才会将文件路径添加到Queue
。
当Timer
滴答时,它遍历队列,弹出每个项目并处理它;直到队列为空。
我的问题是:
- 上午我试图正确地解决这个问题,并使用正确的数据类型?
- 我需要担心
Queue
的并发访问吗?如果是这样,我该如何处理?
我不明白答案1的第一个陈述,或者您的答案2是什么意思 - 请您扩展。如果'Timer'在与FileSystemWatcher添加更改文件的同时发生了什么? – Cheetah
编辑我的答案来说清楚。 – Jsinh
鉴于我现在已经了解Timers过去并且FileSystemWatchers在线程池中的任何线程上通知,可能会有一些需要处理的并发编辑。 – Cheetah