在上篇文章中php yield关键字以及协程的实现 我们讲到了协程的原理以及运行步骤.
现在我们来继续看下协程的执行顺序.
?...协程的运行是交叉式运行(串行),只要你发起了一次协程切换,则会立马暂停当前协程,去运行下一个协程,直到下次代码调度回协程....没错,协程的优点就在于这个.
swoole协程
在swoole中,已经自带了协程管理器,以及异步io的扩展(redis.mysql,http客户端等),我们只要安装好swoole扩展,就可以直接使用协程了...协程流程
1:先执行$i=0
2:通过异步client类,去请求https://www.baidu.com
3:协程切换不等待获取网页内容,直接跳到$i=1
4:通过异步client类,去请求https...://www.baidu.com
....
n:$i=0的请求内容已经完成,切换回$i=0后面的代码,输出"协程0已完成,耗时0"
n+1:通过异步client类,去请求https://www.baidu.com