while($a<1000){
$a++; foo();
}
假如foo()要消耗很多資源,要連網,要增刪改查很多資料庫啥的,是不是都要等foo()執行完了,才開始下一次迴圈?
yes.php裡面的執行權問題..
只有等函數執行完畢之後才會把執行權交回呼叫處繼續執行下面程式碼.
是。所以才叫單線
要等foo函數執行完畢才會執行下一個循環,PHP是單進程阻塞執行,異步執行需要swoole擴展,或在linux下借助pcntl擴展實現多進程,將耗時操作放到子進程中執行,也可以使用pthreads擴充實作多線程,但要在TS版本PHP下執行
yes.php裡面的執行權問題..
只有等函數執行完畢之後才會把執行權交回呼叫處繼續執行下面程式碼.
是。所以才叫單線
要等foo函數執行完畢才會執行下一個循環,PHP是單進程阻塞執行,異步執行需要swoole擴展,或在linux下借助pcntl擴展實現多進程,將耗時操作放到子進程中執行,也可以使用pthreads擴充實作多線程,但要在TS版本PHP下執行