如何用c#代码实现100%的cpu负载

Dec*_*yah 1 c# cpu throttling limit windows-10

我有一项任务是获取一段 c# 代码,以使我的 CPU 始终保持 100% 运行。我尝试过无限循环、大整数计算、连接许多非常长的字符串……一切要么在一段时间内达到 100%,然后下降到 60%,或者根本没有达到 100%。

是否有一段简单的代码可以实现这一点?

也使用 Windows 10

Mat*_*ski 5

如前所述,您可能希望为此实现线程化。您的线程将调用包含 while(true) 循环的方法。例如:

Random rand = new Random()
List<Thread> threads = new List<Thread>();

public void KillCore()
{
     long num = 0;
     while(true)
     {
          num += rand.Next(100, 1000);
          if (num > 1000000) { num = 0; }
     }
}

public void Main()
{
     while (true)
     {
          threads.Add( new Thread( new ThreadStart(KillCore) ) );
     }
}
Run Code Online (Sandbox Code Playgroud)

您不必将线程添加到列表中,但如果您在路上的某个地方想要调用 Thread.Abort() 来终止它们,您可能想要添加。为此,您需要某种类型的集合来迭代并为集合中的每个 Thread 实例调用 Abort() 方法。执行此操作的方法如下所示。

public void StopThreads()
{
     foreach (Thread t in threads) { t.Abort(); }
}
Run Code Online (Sandbox Code Playgroud)

  • `while(true);` 足以消耗单个核心 100% 的资源。`Random` 完全没有必要,而且 `Random` 不是线程安全的。 (2认同)