如何让while(true)循环降低CPU占用率问题?

2022-09-11 16:54:45 浏览数 (2)

只要在死循环中增加sleep即可。
代码语言:javascript复制
<?php
while(true){//CPU占用率高
    //TODO
}

while(true){//改进后降低CPU占用率
    //TODO
    sleep(1);
}
适应于时效性不是非常即时,要精确到微秒级别的应用。
因为在本机测试1s中,可以处理1亿次循环
相当于10纳秒处理1个循环
sleep(1) 会休眠1000纳秒1000纳秒能处理100个循环,这样就等于处理1个循环,则会让出100个循环给其它应用。近似于节省了99%的cpu

0 人点赞