请问:如何限制winform程序的cpu使用率 ,在线等待

dragonsnake 2006-01-13 03:22:26
请问:如何限制一个winform程序的cpu使用率
...全文
418 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bqlhome 2006-04-15
  • 打赏
  • 举报
回复
相當關註這個問題, 因我也有同樣需要...我希望在操作很頻繁的服務器上第一小時進行一次自動壓縮,然后將
壓縮傳上FTP中, 為了不影響服務器的正常作業,這一操作是不能占太多CPU的,要求10%以下,
很多備份軟件就可以做庢這一點, 我看了下,他們的優先級也是標準的啊.
epaib 2006-01-13
  • 打赏
  • 举报
回复
好像还不太好控制硬件吧

关注。。。。
califord 2006-01-13
  • 打赏
  • 举报
回复
这样的问题好,有个性
lidong6 2006-01-13
  • 打赏
  • 举报
回复
.NET程序非常吃内存,增加一个窗体什么也没有,运行一下都10多M.

但对CUP的占用我认为不是很明显.通过性能监视或任务管理器监视一下.把占CPU的地方做一下优化.
Mittermeyer 2006-01-13
  • 打赏
  • 举报
回复
如果你觉得你的窗口程序占用CPU太多,基本上是你的程序现在写的有问题,那么首先想到的是优化你的代码。

先检查那些操作被触发了很多次,比如贴图,比如一些精度很高的定时器,大循环,读写文件,大量的复制数据等操作。
然后去优化被触发频度最多的那些代码,例如把多个贴图操作一次递交,启动一个新的线程通过流量控制的方法去读写文件或者网络发送数据等等。

总之优化是一个非常系统的工作。
jiezhi 2006-01-13
  • 打赏
  • 举报
回复
另外,你还可以设置Thread的优先级,也常常管用的。
你可以使用性能计数器(请查msdn中PerformanceCounter Class的说明)来监控cpu usage,然后设置process或者thread的优先级。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemThreadingThreadClassPriorityTopic.asp
jiezhi 2006-01-13
  • 打赏
  • 举报
回复
也可以通过代码设置优先级:
System.Diagnostics.Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Idle;
jiezhi 2006-01-13
  • 打赏
  • 举报
回复
可以通过任务管理器设置process的优先级,优先级低的会获得比较少的cpu time
adailee 2006-01-13
  • 打赏
  • 举报
回复
What's that for?
MyLf 2006-01-13
  • 打赏
  • 举报
回复
牛。
这样的问题都有。
superfishmanweb 2006-01-13
  • 打赏
  • 举报
回复
特别关注

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧