Coroutine
最后更新于:2022-04-02 06:25:35
# Coroutine
[TOC]
## 短名称
在`2.0.13`与`2.1.0`或更高版本中,增加了协程短名特性,简化了协程相关`API`的名称书写。可修改`php.ini`设置`swoole.use_shortname`来关闭/开启短名,默认为开启。
#### 创建协程
~~~
go(function () {
co::sleep(0.5);
echo "hello";
});
go("test");
go([$object, "method"]);
~~~
#### 通道操作
~~~
$c = new chan(1);
$c->push($data);
$c->pop();
~~~
#### 协程客户端
~~~
$redis = new Co\Redis;
$mysql = new Co\MySQL;
$http = new Co\Http\Client;
$tcp = new Co\Client;
$http2 = new Co\Http2\Client;
~~~
#### 其他 API
~~~
co::sleep(100);
co::fread($fp);
co::gethostbyname('www.baidu.com');
~~~
#### 延迟执行
~~~
defer(function () use ($db) {
$db->close();
});
~~~
';