swoole process 进程 测试代码

<?php
// 多进程应用 循环数据处理
class DataDispose
{
    public function index()
    {
        echo '测试开始--'. date('Y-m-d H:i:s'). PHP_EOL;
        // 生成测试数组
        $datas = range(0, 9);
        foreach ($datas as $data) {
            // 开启子进程
            $process = new Swoole\Process(function ($pro) use($data) {
                // 业务代码
                $content = self::dispose($data);
                // 将数据写入管道
                $pro->write($content. PHP_EOL);
            }, true);
            // 启动子进程
            $process->start();
            // 将各个进程的数据放到数组中
            $workers[] = $process;
        }

        foreach ($workers as $process) {
            // 读取管道中数据
            echo $process->read();
        }
        echo '测试结束--'. date('Y-m-d H:i:s'). PHP_EOL;
    }

    /**
     * 模拟逻辑处理 假设每次处理时间为 1s
     * @param $data
     * @return string
     */
    private static function dispose($data)
    {
        sleep(1);
        return $data. '成功了';
    }
}
(new DataDispose())->index();

下面是执行结果:

[root@VM-0-15-centos process]# php DataDispose.php 
测试开始--2021-03-16 16:56:29
0成功了
1成功了
2成功了
3成功了
4成功了
5成功了
6成功了
7成功了
8成功了
9成功了
测试结束--2021-03-16 16:56:30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值