swoole的worker和task区别

半夜读码,这句话最能说明问题:


官方的GIT源码地址:

http://git.oschina.net/matyhtf/swoole/blob/master/examples/task/shared_server.php?dir=0&filepath=examples%2Ftask%2Fshared_server.php&oid=1f2b225b5a7e4ed1c3c435fbcea2b1fdcf7353f1&sha=2905d2b579ddc2911c15db6d9d2f427b8ade63dd


代码这句话:

function my_onWorkerStart($serv, $worker_id)
{
    global $argv;
    if ($worker_id >= $serv->setting['worker_num']) {
        swoole_set_process_name("php {$argv[0]} task worker");
    } else {
        swoole_set_process_name("php {$argv[0]} event worker");
    }
    //echo "WorkerStart|MasterPid={$serv->master_pid}|Manager_pid={$serv->manager_pid}|WorkerId=$worker_id\n";
    //$serv->addtimer(500); //500ms
}

在看官方给的说明文档中说明了在task和worker都会调用这个onWorkStart方法。

那么,这两个到底是什么区别?


如果大于设定的work_num就是task 进程,如果还在,那就是event worker。


按照官方给的文档,逻辑里是,有一个master 进程,还有一个进程manager进程,worker是基于event触发,而task则是manager直接生成的子进程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值