扫码关注官方订阅号
while($a<1000){
$a++; foo();
}
假如foo()要消耗很多资源,要连网,要增删改查很多数据库啥的,是不是都要等foo()执行完了,才开始下一次循环?
yes.php里面的执行权问题..
只有等函数执行完毕之后才会把执行权交回调用处继续执行下面代码.
是。所以才叫单线程
要等foo函数执行完毕才会执行下一个循环,PHP是单进程阻塞执行,异步执行需要swoole扩展,或在linux下借助pcntl扩展实现多进程,将耗时操作放到子进程中执行,也可以使用pthreads扩展实现多线程,但要在TS版本PHP下执行
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
yes.php里面的执行权问题..
只有等函数执行完毕之后才会把执行权交回调用处继续执行下面代码.
是。所以才叫单线程
要等foo函数执行完毕才会执行下一个循环,PHP是单进程阻塞执行,异步执行需要swoole扩展,或在linux下借助pcntl扩展实现多进程,将耗时操作放到子进程中执行,也可以使用pthreads扩展实现多线程,但要在TS版本PHP下执行