博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何降低死循环的 CPU 占用
阅读量:5134 次
发布时间:2019-06-13

本文共 411 字,大约阅读时间需要 1 分钟。

有的时候程序中需要使用死循环,比如消息监听就要用一个死循环,直到受到消息请求关闭才可能跳出循环。

一个 while(true){} 的循环中即便循环体是空的,也会占用几乎一整个 CPU 核心。为了降低死循环带来的CPU占用,可以考虑在其中加入 Sleep(1)  调用来降低占用 while(true){ Sleep(1) } 。原理是  Sleep(1)  会释放 CPU 一小会儿。虽然参数设置的是1毫秒,但是CPU通常以纳秒为单位运行,于是对于整个 CPU 核心来讲这1毫秒已经是非常久了。通常情况下这样的带有睡眠的死循环的 CPU 占用率是不带睡眠的死循环的1%以下。对于一般的程序而言这可能已经能够解决问题了,但是对于消息非常密集的程序而言这可能导致消息响应速度慢。睡眠是针对线程而非进程的,这一点也要知道。

转载于:https://www.cnblogs.com/memoryLost/p/10907654.html

你可能感兴趣的文章
The requested URL /xxxx.html was not found on this server
查看>>
权限设计
查看>>
spring data mongodb CURD
查看>>
那些花儿【III】
查看>>
2.1 使用ARDUINO控制MC20打电话
查看>>
冰川时代5:星际碰撞Ice Age: Collision Course迅雷下载
查看>>
CAS Tomcat实现单点登录
查看>>
HDU1401 Solitaire
查看>>
cmd大全_练习
查看>>
Java 数组 定义一个数组,获取数组中的最大值和最小值,奇数个数和偶数个数...
查看>>
C#获取变量名的扩展方法
查看>>
PHP持续集成实践
查看>>
Java import javax.servlet 出错
查看>>
PermutationsUnique,求全排列,去重
查看>>
705.Design HashSet
查看>>
cf1173 D. Nauuo and Circle
查看>>
自定义数字格式字符串_部分分隔符和条件格式
查看>>
Android--启动拍照功能并返回结果
查看>>
百度文库推广引流技巧
查看>>
求1+2+3+4+...+n
查看>>