-5

我想知道这是否可以避免 100% 的 CPU 使用率。

Environment.ProcessorCount 将返回逻辑处理器计数,在我的情况下 i7 4 个真实核心 8 个逻辑。在其他一些情况下,它可能会有所不同。但重要的是 CPU 使用率。如果我使用我的应用程序来使用 Environment.ProcessorCount 内核,它将在我的 PC 上使用 100%。如果我这样做怎么办

字符串lesscpu = Environment.ProcessorCount - 1;

所以很明显地移除了1个核心。在我的 PC 上,它将是 7 个内核和大约 80-90% 的 CPU 使用率。在其他一些情况下:

2 核 2 逻辑 = 1 = 50% cpu

2 核 4 逻辑 = 3 = 70%+ cpu

2 核 6 逻辑 = 5 = 70%+ cpu

这是真的?

更新:

这种繁重的工作在我空闲时发生更差?...

4

2 回答 2

4

购买一个好的处理器然后不使用它的功能没有什么意义如果您观察到 100% 的 cpu 利用率,那么您可以有信心做。你得到了你所支付的你编写了一个程序,从线程中获得最大的并发性。好工作。

您唯一可能犯的错误是没有降低 Thread.Priority。如果您关心其他程序在竞争处理器时不会变得迟钝,这一点很重要。

于 2013-08-10T18:48:39.017 回答
1

看看 SO Question How to get the CPU Usage in C#? . 您还可以按照 SO如何限制 C# 程序占用的 CPU 使用率中所述设置线程的优先级?您可能还想使用 C# .NET 以图形指示查看 CPU 使用情况

于 2013-08-10T18:09:02.567 回答