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

时间:2018-03-09 23:47:23

标签: c# windows-10 cpu limit throttling

我有一项任务是获取一段c#代码,以使我的CPU始终保持100%。我尝试了无限循环,大整数计算,连接了很多非常长的字符串....所有内容要么在100%之后持续一段时间然后降低到60%,要么根本没有达到100%。

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

还使用Windows 10

2 个答案:

答案 0 :(得分:3)

如前所述,您可能希望为此实现线程。您的线程将调用包含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) ) );
     }
}

您不必将线程添加到列表中,但是如果您在某个地方想要调用Thread.Abort()来杀死它们,您可能想要这样做。要做到这一点,你需要一些类型的集合来迭代并为集合中的每个Thread实例调用Abort()方法。执行此操作的方法如下所示。

public void StopThreads()
{
     foreach (Thread t in threads) { t.Abort(); }
}

答案 1 :(得分:1)

使用parallel来最大化CPU Cores的使用并获得最佳的线程,在每个线程内部使用while(true)创建一个无限循环并祝贺 你有你的CPU:D