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

时间:2014-05-18 12:15:01

标签: php while-loop

如果以下代码行导致php消耗100%的cpu时间

 while(true){}

那为什么以下代码不一样呢?毕竟,!feof($fp)只是一个布尔表达式,当评估为true时,它根本不使用可感知的cpu时间。

 $fp = stream_socket_client($remote_socket);
 while(!feof($fp)){}

1 个答案:

答案 0 :(得分:0)

这是关于在再次评估循环条件之前在循环中进行了多少工作,以及该条件将保持多长时间。

while(true){}无需评估和永远。所以100%

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

循环仍然永远存在,但是暂停'每次循环执行一秒钟。

给出eof的例子是并且仍然是真的它永远不会退出,但是检查eof需要一些时间,所以它不会是100%,尽管我应该认为相当接近......