只要在死循环中增加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。