AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## RapCo rapphp本身对 swoole 各项能力是全面支持的,RapCo主要是针对 swoole 协程做了简单的封装, 1.rapphp保证了项目在 swoole环境使用协程,在 apache,nginx环境下或降级为同步执行, 2.同时提供了 group 的功能,可以做多协程等; 3.同时提供了 group 的功能,可以做多协程等待; 4.注意下在http服务下,其实每个请求都在一个协程内,我们创建的协程是该协程的子协程 ### 协程内执行 ``` RapCo::go(function(){ }); ``` ### 协程内执行,并带上当前协程的 context 和 `RapCo::go`的主要区别是`RapCo::goWithContext`会带上 context,如果你想获取request或保持数据库切换等需要获取获取 context 内数据的情况下使用 ``` RapCo::goWithContext(function(){ }); ``` ### 分组功能 会创建一个组,在组内可以并发执行多个协程,并等待所有协程执行完毕 ~~~ $result=[]; $group = RapCo::group();//创建分组 $group->goWithContext(function()use(&$result){ result['name']=1; }); $group->goWithContext(function()use(&$result){ $result['test']=2; }); $group->wait();//等待两个协程全部执行完成 return $result;//结果 ['name'=>1,'test'=>2] ~~~ ### 数组迭代 会为数组内每个item 都单独创建一个协程,并等待每个协程执行完毕 ~~~ $m=['a'=>'a','b'=>'b']; RapCo::each($m,function($item){ }) ~~~