您当前的位置: 首页 > 

壹小俊

暂无认证

  • 3浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Swoole 实现协程基本概念和底层原理

壹小俊 发布时间:2020-04-01 09:49:07 ,浏览量:3

协程是什么

协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换,相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低,Swoole 可以为每一个请求创建对应的协程,根据 IO 的状态来合理的调度协程。

在 Swoole 4.x 中,协程(Coroutine)取代了异步回调,成为 Swoole推荐的编程方式。Swoole 协程解决了异步回调编程困难的问题,使用协程可以以传统同步编程的方法编写代码,底层自动切换为异步 IO,既保证了编程的简单性,又可借助异步 IO,提升系统的并发能力。

注:Swoole 4.x 之前的版本也支持协程,不过 4.x 版本对协程内核进行了重构,功能更加强大,提供了完整的协程+通道特性,带来全新的 CSP 编程模型。 基本使用示例
  • PHP 版本要求:>= 7.0;
  • 基于 ServerHttp\ServerWebSocket\Server 进行开发的时候,Swoole 底层会在 onRequestonReceiveonConnect 等事件回调之前自动创建一个协程,在回调函数中即可使用协程 API;
  • 你也可以使用 Coroutine::create 或 go 方法创建协程,在创建的协程中使用协程 API 进行编程。

以 Swoole 自带的 TCP 服务器 

关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.2419s