php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解
Iterator接口
在php中,除了数组,对象可以被foreach遍历之外,还有另外一种特殊对象...生成器使用yield关键字进行生成迭代的值
例如:
?...可能你在这发现了几个东西,和之前php完全不同的认知,如果你没发现,额,那我提出来吧
1:在调用函数返回的时候,可以发现for里面的语句并没有执行
2:在遍历一次的时候,可以发现调用函数,却没有正常的for...很好,我们已经实现了可以调度任务,进行任务交叉运行的功能了,这就是"协程"
协程可以将多个不同的任务交叉运行
二:协程与调度器的通信
我们在上面已经实现了一个协程封装了,但是任务和调度器缺少了通信,我们可以重新封装下...答案是10分钟,因为在烧开水这个步骤时,不需要坐在那里看水壶烧(异步,io耗时)可以先去刷牙,然后去吃早餐
以上就是php yield关于协程的全部内容了
swoole
由总结可以看出,协程用在最多的应用场景