- 43
- 0
编写代码的场景:在Laravel的Console模式下编写命令行任务,根据一些数据集的数量发起对应个数的协程向某远程服务器进行一些数据交换
比如一共有10个协程,我希望每执行3个就阻塞等待一下,都完成了再执行下面3个
测试代码:
$arr = [];
foreach(array_pad($arr, 11, 1) as $i => $id){
go(function()use($i){
echo "$i 开始\n";
$client = new new \Swoole\Coroutine\Client(SWOOLE_SOCK_TCP);
$client->connect(...);
$client->send(...)
....
echo "$i 完了\n";
});
if($i > 0 && !($i % 3)){
\swoole_event::wait();
echo "一组结束 $i\n";
}
}
\swoole_event::wait();
echo "全部结束";
我以为\swoole_event::wait();一定会阻塞等待前面已经创建的cortoutine执行完毕才会往后执行,结果发现并不是,输出样本如下:
0 开始
1 开始
2 开始
3 开始
2 完了
0 完了
3 完了
1 完了
一组结束 3
4 开始
5 开始
6 开始
一组结束 6
7 开始
8 开始
9 开始
一组结束 9
10 开始
全部结束
看到第1组开始和完了
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
