zoukankan      html  css  js  c++  java
  • 打爆你的 CPU

    打爆你的 CPU

    Intro

    这是这个煞笔代码系列的最后一篇——Full CPU,相对来说也比前面三个简单一些,没有那么多的知识点。

    今天来尝试写一段代码,把 CPU 打满,让所有处理器的 CPU 使用率达到 100%,Let's do it.

    如何提高 CPU 使用率

    想要提高 CPU 的使用率就是要让 CPU 一直在工作,单位时间内,CPU 做的工作越多 CPU 使用率越高,所以我们要让 CPU 处于高度饱和的工作状态,让 CPU 一直在工作,这样就会比较容易达到比较高的 CPU 使用率

    Show me the code

    废话不说,直接上代码:

    public static void Test()
    {
        Parallel.For(0,
            Environment.ProcessorCount,
            new ParallelOptions()
            {
                MaxDegreeOfParallelism = Environment.ProcessorCount
            },
            i =>
            {
                while (true)
                {
                }
            });
    }
    

    为了比较充分的利用所有的处理器,使用 Parallel 来并行执行,最大的并发度设置为处理器的个数,避免并发度高的时候造成线程上下文的切换造成损失,方法体里则是用了一个死循环,让 CPU 一直在空转,一直在工作。

    来看执行的效果,使用任务管理器中的性能页查看 CPU 使用率数据

    cpu stats

    可以看到还算是比较理想的达到了 CPU 100% 了~~

    More

    你还有别的实现方案吗?欢迎补充~~

    直接系统运行这个示例的话可能会影响别的程序运行,也可以尝试使用容器技术,限制 CPU 去运行,可以自己尝试一下哈~

    References

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    OpenERP Framework API存档
    OpenERP 7 picking order 继承需要注意的地方
    Unity战斗系统之AI自主决策
    简易2D横版RPG游戏制作
    UGUI之Canvas Group
    UGUI之Canvas和EventSystem
    NGUI之scroll view的制作和踩坑总结
    NGUI之Toggle实现单选框
    Unity中对象池的使用
    继承MonoBehaviour类的优缺点和相关报错
  • 原文地址:https://www.cnblogs.com/weihanli/p/implement-full-cpu.html
Copyright © 2011-2022 走看看