1
我有一個應用程序,其中有一個Timer
和FileSystemWatcher
用於批處理每5分鐘更改的文件。已更改文件的批處理
FileSystemWatcher
在更改文件時會引發事件,並且只有在檢查隊列中是否存在文件路徑後,纔會將文件路徑添加到Queue
。
當Timer
滴答時,它遍歷隊列,彈出每個項目並處理它;直到隊列爲空。
我的問題是:
- 上午我試圖正確地解決這個問題,並使用正確的數據類型?
- 我需要擔心
Queue
的併發訪問嗎?如果是這樣,我該如何處理?
我不明白答案1的第一個陳述,或者您的答案2是什麼意思 - 請您擴展。如果'Timer'在與FileSystemWatcher添加更改文件的同時發生了什麼? – Cheetah
編輯我的答案來說清楚。 – Jsinh
鑑於我現在已經瞭解Timers過去並且FileSystemWatchers在線程池中的任何線程上通知,可能會有一些需要處理的併發編輯。 – Cheetah