gpt4 book ai didi

C# 程序占用太多 CPU?

转载 作者:行者123 更新时间:2023-11-30 18:48:53 25 4
gpt4 key购买 nike

我有一个程序在启动时不断地在 3 个独立的计时器之间切换。

我的应用程序的主线程有一个 while 循环,它不断检查全局变量是否已设置为 true,如果已设置,它将停止一个计时器并启动另外两个 - 一个连续,另一个自动停止无论出于何种原因,它都没有被命令停止。

此 while 循环的条件为 (1==1),因此它会一直运行。

在任务管理器 (XP) 中,我看到我的程序在一个或多或少空闲的系统上使用了 50% 的 CPU。

有没有办法通过降低 while 循环或其他方式的速度来减少这个数字?

谢谢。

最佳答案

Is there a way to decrease that number by decreasing the speed of the while loop or something?

只是停止做一个繁忙的循环。有更好的方法来协调线程之间的事件。考虑使用 Monitor.Wait/Pulse,或 AutoResetEvent/ManualResetEvent。基本上,设置全局变量的线程应该发出它已完成的信号。或者,如果您的主线程不会做任何其他事情,为什么不添加一个普通的 C# 事件,以便每当变量发生更改时,都会引发事件并采取适当的操作?

关于C# 程序占用太多 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com