当你写的程序CPU利用率飙升到50%以上怎么办?

首先你的程序里肯定有循环(while或者for循环),比如程序就写一句如下:

int main()
{
    while (1);
}

在windows上看看:

启动前:

当你写的程序CPU利用率飙升到50%以上怎么办?_第1张图片

启动后:

当你写的程序CPU利用率飙升到50%以上怎么办?_第2张图片

 再看linux上我们使用(htop命令或者top命令查看cpu的利用率)

启动前:

当你写的程序CPU利用率飙升到50%以上怎么办?_第3张图片

启动后:直接飙到100%了

当你写的程序CPU利用率飙升到50%以上怎么办?_第4张图片

 

修改一下程序:

int main()
{
    while (1)
        {
        usleep(1);
        }
}

 cpu利用率降到3.5%

当你写的程序CPU利用率飙升到50%以上怎么办?_第5张图片

 【总结】

有人会问:利用率高不是好事吗?问题你利用率高了,其他进程怎么办。sleep是降低cpu利用率的一种办法,其原理是让该线程的状态处于休眠(挂起),让出CPU。sleep可以达效果,最好的方法还是根据自己的场景设计。

你可能感兴趣的:(性能)