Coroutine::yield
最后更新于:2022-04-02 06:26:01
# Coroutine::yield
[TOC]
让出当前协程的执行权。
~~~
function Coroutine::yield();
~~~
> 此方法拥有另外一个别名:`Coroutine::suspend()`
必须与`Coroutine::resume()`方法成对使用。该协程`yield`以后,必须由其他外部协程`resume`,否则将会造成协程泄漏,被挂起的协程永远不会执行。
## 使用示例
~~~
$cid = go(function () {
echo "co 1 start\n";
co::yield();
echo "co 1 end\n";
});
go(function () use ($cid) {
echo "co 2 start\n";
co::sleep(0.5);
co::resume($cid);
echo "co 2 end\n";
});
~~~
';