您的位置:首页 > 产品设计 > UI/UE

while(true)循环与CPU占用率问题

2013-07-18 16:00 295 查看
之前写程序的时候一直没有主动注意CPU占用的问题,今天在进行RTSP服务端测试的时候发现只是接入了一两个连接,CPU的占用率已经达到了100%,吓死我了~虽然之前已经预料到CPU占用会很高,但实际测试结果还是让我出了一身冷汗,这样的程序怎么能够发布使用呢?应该逐渐关注程序性能算法优化这方面的问题。当然,导致CPU占用率如此之高的元凶就是程序中的几个while(true)死循环。用代码解释如下:
while(true){
//your code
}
改进之后:
while(true){
Sleep(1);
//your code
}
其实就是添加了一句“Sleep(1)”,但是CPU占用率就直接从100%跌到了1%左右。Sleep()是Windows API线程调度相关的函数,将当前线程置入等待状态,并让它等待一段指定的时间间隔(以毫秒ms为单位),零值表示放弃该线程时限的剩余部分。Comments:CPU是以纳秒级单位运转的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: