PHP中利用pcntl实现多进程(模拟多线程)实例

<?php /** * 创建子进程入口 * @author selfimpr * @blog http://blog.csdn.net/lgg201 * @mail lgg860911@yahoo.com.cn * @param $func_name 代表子进程处理过程的函数名 * @param other 接受不定参数, 提供给子进程的过程函数. */ function new_child($func_name) { $args = func_get_args(); unset($args[0]); $pid = pcntl_fork(); if($pid == 0) { function_exists($func_name) and exit(call_user_func_array($func_name, $args)) or exit(-1); } else if($pid == -1) { echo “Couldn’t create child process.”; } } //测试处理函数, 输出$prefix连接的数组 function test($prefix, $num) { while($i ++ < $num) echo $prefix.$i.”/n”; } //创建一个子进程 new_child(“test”, “child process “, 100); //父进程也开启一个与子进程同样多的循环. teest(“parent process”, 100); //运行结果, 我这里运行父进程输出50个左右, 子进程开始运行. ?>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值