我需要让 FileSystemWatcher 在无限循环中运行以监视文件的更改,但是该文件每隔几天才会更改一次,并且可能每周更改一次。在FileSystemWatcher的 MSDN 示例中,有一个循环,而用户没有在控制台输入 q:
while(Console.Read()!='q');
我不希望它一直可用,所以它不会被意外杀死——它必须在没有用户干预的情况下无限循环运行。我是否必须将循环更改为
while (true);
所以线程不退出?仅此一项并不理想,因为它将与 CPU 挂钩 - 添加Thread.Sleep调用将消除 CPU 负载,在这种情况下,可能会长时间休眠,因为文件很少更改。这是最好的方法吗?我应该如何确保该线程保持活动状态,以便 FileSystemWatcher 可以在文件更改时采取行动?这是在 Windows 服务器(使用 .NET 框架 2.0 版)上运行的,因此如有必要,可以将其设为 Windows 服务。