小何
  • 0
  • 新人请关照

问各位大佬一个swoole协程调度的问题

在看swoole文档的过程中对于swoole协程调度所走过的流程有些不明白的地方
(默认工作模式为多进程模式)

1.创建一个协程是否从worker进程发起,发送至reactor线程的epoll结构进行调度?如是,若服务器配置多reactor线程,如何理解文档中描述的swoole协程为单线程调度,是否多个reactor线程均可实现协程调度?

2.协程从worker进程让出至reactor线程之后,在经过调度重新恢复至worker的过程中是否会投递到与之前同一个worker进程中去?

阅读 190
评论 3月21日提问
    1 个回答
    1. 这里多个 reactor 线程,说的是 master 进程,而 master 是不执行 PHP 代码的,所以不存在协程调度。worker 进程中执行 PHP 代码,有协程调度器,是单线程的
    2. worker 进程与 reactor 线程是通过管道通信实现的,管道本质上也是其中一个 socket
    评论 赞赏
      撰写回答

      登录后参与交流、获取后续更新提醒