workerman的Worker类代码分析

workerman的Worker类代码分析
static::checkSapiEnv(); #检测sapi的环境

SAPI 服务器应用程序编程接口,即PHP与其它应用交互接口,PHP脚本要执行有很多方式,通过Web的服务,或者直接在命令行下,也可以嵌入在其他程序中

常见SAPI有:cgi fast-cgi cli(命令行) apache模块的DDL isapi    

static::init();   #初始化 

static::lock();  #锁上文件,其它进程不能在用了,不能操作

static::parseCommand(); #判断是不是linux系统, 命令行

static::daemonize();  #守护进程的东西         static::$_os !==OS_TYPE_LINUX 判断是否是linux

static::initWorkers();  #初始化所有的workers实例     static::getUiColumns()获取字段就是下面的图片

是下面的图片
在这里插入图片描述

static::installSignal(); #安装信号

在这里插入图片描述

在这里插入图片描述

static::saveMasterPid(); #保存主进程id master主进程保存起来

#以上的方法是在锁上之后在操作

static::unlock(); #解锁

static::displayUI(); #展示页面

在这里插入图片描述

static::forkWorkers(); #子进程

static::resetStd(); #重置的 标准输入和输出

static::monitorWorkers(); #监控子进程的

forkOneWorkerForLinux($worker) #linux子进程时候调用 $worker->run()

public function run()

就可以达到回调了 t h i s ( 就 是 当 前 w o r k e r 实 例 ) 当 个 这 个 this(就是当前worker实例 )当个这个 thisworkerthis->onWorkerStart属性的参数,就注册进去了

在这里插入图片描述

call_user_func

 call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] ) : mixed

第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数

public function acceptConnection($socket) 是接受一个连接

$this 是当前woreker实例

在这里插入图片描述

p a r s e r : : e n c o d e ( parser::encode( parser::encode(send_buffer, $this) #这是打包的处理

Worker.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟伟哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值