在wenbman框架里可不可以使用协程?
可以
有没有相关文档链接,发我参考下呗
需要安装Swoole , Worker::$eventClass = Swoole::class 然后你再$worker->onWorkerStart = function() { Coroutine::create(function(){ Coroutine::sleep(3); echo "c1"; }); Coroutine::create(function(){ Coroutine::sleep(1); echo "c2"; }); // 看看输出顺序是不是 c2 然后 c1, 你就知道支持协程没有了。 };
好,我看看。其实这个问题也不是单纯说 webman能不能使用协程,是workman能不能使用协程
workerman没有提供异步API,要么自己实现,要么使用其他的协程库。
主要看你用哪个方面了,如果mysql的协程没戏,直接用hy,如果请求第三方 或者 redis webman现在可以用协程了,但是要求最低php8.1版本才能用
workerman至今都没有引入协程,甚至可以预见在未来相当一段时间内都不会加入这玩意,因为这个玩意不是必须的,曾经有不少人以io密集为由提议引入协程,walkor表示:多开几个进程。
你就算用上了协程,你也不见得会开心,后面还有无数的问题等着你。如果你到了没有协程无法呼吸的地步,最好的办法是换个框架或者换门语言。
如果是 mysql 协程 没啥鸟用 redis也没啥用 但是 请求第三方 接口 阻塞 协程还是有用的 ,你测试可以明显发现 协程 的并发高,不会请求第三方接口 阻塞 导致 你吞吐量急剧下降,可以多试试
搜索好像是免费的
发问题之前我就搜问答了,只不过没找到我想要的答案,而且涉及到这一块的问答并不多。有,很少。且,不是最新。
你用协程干啥?如果mysql 你得用swoole的 如果是 请求第三方 我建议 你直接webman fiber哪个,php8.1 版本能用,我请求第三方就用的 群主实现的那个协程,挺好用的不阻塞
发个文档连接看看呗
https://www.workerman.net/doc/workerman/components/workerman-http-client.html 里面的协程用法,需要封装好的方法 在@我吧,最好你自己封装一个
感谢 感谢啦 能否分享一下封装的方法呢
你在二群 @ 一下不要并发 我单独发给你
可以
有没有相关文档链接,发我参考下呗
需要安装Swoole , Worker::$eventClass = Swoole::class
然后你再$worker->onWorkerStart = function() {
Coroutine::create(function(){
Coroutine::sleep(3);
echo "c1";
});
Coroutine::create(function(){
Coroutine::sleep(1);
echo "c2";
});
// 看看输出顺序是不是 c2 然后 c1, 你就知道支持协程没有了。
};
好,我看看。其实这个问题也不是单纯说 webman能不能使用协程,是workman能不能使用协程
workerman没有提供异步API,要么自己实现,要么使用其他的协程库。
主要看你用哪个方面了,如果mysql的协程没戏,直接用hy,如果请求第三方 或者 redis webman现在可以用协程了,但是要求最低php8.1版本才能用
workerman至今都没有引入协程,甚至可以预见在未来相当一段时间内都不会加入这玩意,因为这个玩意不是必须的,曾经有不少人以io密集为由提议引入协程,walkor表示:多开几个进程。
你就算用上了协程,你也不见得会开心,后面还有无数的问题等着你。如果你到了没有协程无法呼吸的地步,最好的办法是换个框架或者换门语言。
如果是 mysql 协程 没啥鸟用 redis也没啥用 但是 请求第三方 接口 阻塞 协程还是有用的 ,你测试可以明显发现 协程 的并发高,不会请求第三方接口 阻塞 导致 你吞吐量急剧下降,可以多试试
搜索好像是免费的
发问题之前我就搜问答了,只不过没找到我想要的答案,而且涉及到这一块的问答并不多。有,很少。且,不是最新。
你用协程干啥?如果mysql 你得用swoole的 如果是 请求第三方 我建议 你直接webman fiber哪个,php8.1 版本能用,我请求第三方就用的 群主实现的那个协程,挺好用的不阻塞
发个文档连接看看呗
https://www.workerman.net/doc/workerman/components/workerman-http-client.html 里面的协程用法,需要封装好的方法 在@我吧,最好你自己封装一个
感谢 感谢啦 能否分享一下封装的方法呢
你在二群 @ 一下不要并发 我单独发给你