c# - 使用 System.Threading 使用 50% CPU 的简单 .exe

标签 c# .net desktop-application

我有一个非常简单的可执行文件,它大约每 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/

相关文章:

.net - 这不是断点的有效位置

.net - 如何在 PowerShell 中获取数字 HTTP 状态代码

c# - Windows 桌面应用程序的想法

c# - 通过 linq to xml 中的属性获取 Node

c# - 为什么这些数据绑定(bind)不更新?

c# - C#中的图像边框操作

java - Java桌面应用程序使用什么框架

c# - 模拟的移动方法?

c# - NodeJS 3DES ECB 加密不等于 C# 加密

http - cookie 和桌面应用程序