搜尋

首頁  >  問答  >  主體

php循環問題

while($a<1000){

$a++;
foo();

}

假如foo()要消耗很多資源,要連網,要增刪改查很多資料庫啥的,是不是都要等foo()執行完了,才開始下一次迴圈?

巴扎黑巴扎黑2826 天前426

全部回覆(3)我來回復

  • 滿天的星座

    滿天的星座2017-05-16 13:17:15

    yes.php裡面的執行權問題..

    只有等函數執行完畢之後才會把執行權交回呼叫處繼續執行下面程式碼.

    回覆
    0
  • 怪我咯

    怪我咯2017-05-16 13:17:15

    是。所以才叫單線

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-16 13:17:15

    要等foo函數執行完畢才會執行下一個循環,PHP是單進程阻塞執行,異步執行需要swoole擴展,或在linux下借助pcntl擴展實現多進程,將耗時操作放到子進程中執行,也可以使用pthreads擴充實作多線程,但要在TS版本PHP下執行

    回覆
    0
  • 取消回覆