首页 >php框架 >Swoole > 正文

swoole有哪些线程

原创2019-12-30 09:54:1001000

swoole中的线程:

1、MainReactor(主线程)

主线程会负责监听server socket,如果有新的连接accept,主线程会评估每个Reactor线程的连接数量。将此连接分配给连接数最少的reactor线程,做一个负载均衡。

2 、Reactor线程组

Reactor线程负责维护客户端机器的TCP连接、处理网络IO、收发数据完全是异步非阻塞的模式。

swoole的主线程在Accept新的连接后,会将这个连接分配给一个固定的Reactor线程,在socket可读时读取数据,并进行协议解析,将请求投递到Worker进程。在socket可写时将数据发送给TCP客户端。

3、心跳包检测线程(HeartbeatCheck)

Swoole配置了心跳检测之后,心跳包线程会在固定时间内对所有之前在线的连接

发送检测数据包

4、UDP收包线程(UdpRecv)

接收并且处理客户端udp数据包

swoole想要实现最好的性能必须创建出多个工作进程帮助处理任务,但Worker进程就必须fork操作,但是fork操作是不安全的,如果没有管理会出现很多的僵尸进程,进而影响服务器性能,同时worker进程被误杀或者由于程序的原因会异常退出,为了保证服务的稳定性,需要重新创建worker进程。

推荐学习: swoole视频教程

以上就是swoole有哪些线程的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:swoole 线程
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • Java多线程与并发库高级应用视频教程Java多线程与并发库高级应用视频教程
  • 千锋教育PHP异步通信框架Swoole解读视频教程千锋教育PHP异步通信框架Swoole解读视频教程
  • 视频教程分类