doubi4617 2014-05-18 12:15
浏览 52

while循环行为,如何计算表达式

If the following line of code causes php to consume 100% of the cpu time

 while(true){}

then why should the following code not do the same? after all, !feof($fp) is just a boolean expression, and when evaluating as true, it uses no perceivable cpu time at all.

 $fp = stream_socket_client($remote_socket);
 while(!feof($fp)){}
  • 写回答

1条回答 默认 最新

  • dra11767 2014-05-18 12:34
    关注

    This is about how much work goes on in the loop before the loop condition is evaluated again, and for how long that condition will remain true.

    while(true){} Nothing to evaluate and forever. So 100%

    While(true) 
    {
      // Wait 1 second for a key press
      // Display another '.'
    }
    

    loop still runs forever, but there's a 'pause' of one second every execution of the loop.

    Your example given eof is and remains true it will never exit, but checking eof takes some time, so it won't be a 100%, be fairly close though I should think...

    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大