Swoole既然是自动协程为什么还需要使用go函数

发布于 2022-09-12 00:00:30 字数 77 浏览 22 评论 0

官网文档中说到swoole遇到io堵塞底层会自动触发协程进行协程切换,那为什么还需要用go函数?在什么情况下会使用go函数? 需要注意什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假面具 2022-09-19 00:00:30

如果你使用底层一点的Socket类,那么,你就会用到这个go函数来创建协程。比如这段代码:

<?php

  

use Swoole\\Coroutine\\Socket;

  

use  function Co\\run;

  

run(function () {

$socket = new  Socket(AF\_INET, SOCK\_STREAM, 0);

$socket\->bind('127.0.0.1', 9601);

$socket\->listen(128);

  

while (true) {

$conn = $socket\->accept();

go(function () use ($conn) {

$data = $conn\->recv();

var\_dump($data);

});

}

});

一个连接对应一个协程的模型。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文