我有一个非常简单的可执行文件,它大约每 3 秒检查一个特定的文件夹,看看里面是否有文件。如果找到文件,它会执行某些操作,然后每 3 秒返回检查一次文件夹。
人们报告说,有时这个可执行文件会占用他们 50% 的 CPU,有没有关于如何正确执行此操作的建议。下面是我如何执行此操作的示例代码。
// Check our folder every x seconds
Timer = new System.Threading.Timer(TimerCallback, null, 0, Global.SecondsToCheckPrintFolder * 1000);
最佳答案
你应该使用 FileSystemWatcher
.
为了回答您的问题,您的主线程可能正在运行 while(true) { }
,这将永远杀死 CPU。
要让主线程永远等待,你应该调用Application.Run()
。
您也可以调用 Thread.Sleep(-1)
。
关于c# - 使用 System.Threading 使用 50% CPU 的简单 .exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339157/