我正在开发一个C#程序,并且我有一个消耗太多CPU的函数。我想知道一种方法来通过代码(而不是任何外部应用程序)来控制它,并限制CPU使用率。 例如,如果它使用90%的CPU使用率,使我的应用程序仅消耗20%,即使速度变慢。它必须自动完成并从应用程序内完成。 如果你提供一堂课,那会很棒。如何限制C#程序的CPU使用率?
11
A
回答
16
我不知道你是否可以这样做,但可以通过Priority属性更改执行线程的线程优先级。你可以通过以下方式设置:
Thread.CurrentThread.Priority = ThreadPriority.Lowest;
另外,我不认为你真的想要限制它。如果机器处于闲置状态,您希望它忙于处理任务,对吧? ThreadPriority可帮助将此信息传递给调度程序。
0
您可以通过调用循环内的Thread.Sleep(毫秒)来减慢循环。这将CPU交给调度器。
但是'消耗太多的CPU'让我觉得你可能有更多的基本问题。这个线程是否轮询并等待其他事情?如果是这样,你应该考虑使用事件或其他基于内核的信号机制。
0
我想你需要查询某种操作系统API来了解你有多少CPU正在使用,并从中进行节流决定(如Thread.Sleep)。
相关问题
- 1. C#限制线程的CPU使用率
- 2. 如何限制Android的CPU使用率?
- 3. 如何限制CPU使用率?
- 4. 如何限制FFMpeg CPU使用率?
- 5. 设置应用程序的资源限制(CPU使用率)
- 6. 限制Java应用程序的内存和CPU使用率
- 7. 如何限制节点进程的CPU和内存使用率
- 8. 如何限制一个进程的CPU使用率
- 9. 使用Cgroups限制CPU使用率
- 10. 限制Runtime.getRuntime()的CPU使用率exec
- 11. Python - 限制脚本的CPU使用率
- 12. 限制fwrite操作的CPU使用率
- 13. 如何在c#中优化或限制CPU使用率的压缩过程(DotNetZip)?
- 14. 限制Caffe CPU内核使用率?
- 15. 多重 - 限制CPU使用率
- 16. cgroups限制总CPU使用率
- 17. 限制C#.NET 1.1中Ticker组件的CPU使用率
- 18. 是否可以限制外部进程的CPU使用率?
- 19. 故意限制只有一个线程的CPU使用率
- 20. 线程c中的CPU使用率高#
- 21. 如何强制最大CPU使用率
- 22. 简单程序的高CPU使用率
- 23. 测量程序的CPU/RAM使用率
- 24. 限制Web Worker CPU利用率?
- 25. SlimDX:限制帧速率以降低CPU使用率
- 26. ASP.NET应用程序和CPU使用率
- 27. 100%CPU使用率ASP.NET应用程序
- 28. MongoDB限制集合复制和非常高的CPU使用率
- 29. 如何在Windows上限制进程的CPU使用率? (需要代码,而不是应用程序)
- 30. 如何控制OS X上的应用程序的CPU使用率?
这听起来像一个拐杖:攻击症状而不是问题。你为什么不发布该方法试图做什么,并要求我们帮助优化该方法。 – 2008-10-30 18:35:37
它可能是一个拐杖,但我可以想到这个想法的几个应用程序,例如:一个CPU绑定的背景任务来紧缩数字,办公室PC的分布式计算环境中的一个节点,一个人工智能程序来监视和向我学习使用习惯。 – 2008-10-30 19:22:16