首页 > 解决方案 > C# filesystemwatcher 在执行逻辑时是否停止?

问题描述

假设一个文件在时间 00:00:00 (hr:mm:ss) 创建,另一个文件在 5 秒后创建 (00:00:05),另一个文件在 5 分钟后创建 (00:05:00) .

如果我有一个正在监视“文件创建”事件的文件系统观察器......然后将此文件路径添加到队列......然后对其进行处理需要 30 秒,然后再次检查队列。第二个文件路径是否会在此队列中等待(5 秒后发生的那个)?或者它会跳过它,因为它发生在它正在执行逻辑的 30 秒中间?我觉得这是一个愚蠢的问题,因为我一直认为/假设文件系统观察器“一直在观察”并且即使程序仍在处理最后一个文件,也不会错过任何东西。但我突然想到,除非程序是多线程的(2 个线程),否则它不能真正做到这一点。一个线程供观察者持续观察,另一个线程执行需要 30 秒的工作。

标签: c#multithreadingfilesystemwatcher

解决方案


推荐阅读