我正在学习PHP Icicle Library
我想知道Coroutine的使用。我明白它是如何工作的。它基本上异步执行生成器函数.....当产生一个值时,它允许事件循环从异步队列执行另一个任务。
如果可能,请提供代码示例。感谢。
答案 0 :(得分:1)
关于协同程序的Icicle文档中有几个示例:https://github.com/icicleio/Icicle/wiki/Coroutines。
当一个协程产生一个promise时,协程的执行会被中断,直到promise被解决,允许运行其他任务。
下面是文档中的一个示例,显示了协程如何能够从解析器和连接器返回的promise中异步连接到服务器。
root@mongo-0:/data/mongodb/mongodb/data/journal# ls -lah
total 1.7G
drwxr-xr-x 2 mongodb mongodb 4.0K Jun 9 23:56 .
drwxrwx--- 3 mongodb mongodb 4.0K Jun 13 00:29 ..
-rw------- 1 mongodb mongodb 1.1G Jun 9 23:56 j._7
-rw------- 1 mongodb mongodb 695M Jun 13 00:22 j._8
-rw------- 1 mongodb mongodb 88 Jun 13 00:22 lsn
我鼓励您彻底阅读https://github.com/icicleio/Icicle/wiki处的所有文档,如果您在实施某些内容时遇到问题,请提出更具体的问题。