php后台线程,php – 在后台线程/进程中调用函数(forking)

我有这样的代码:

($i=0; $i < 100; $i++)

{

do ($foo[$i]);

}

上面是一个时间密集的任务,我希望能够创建一个功能,并像下面这样调用它

function wrapper($start;$end)

{

($i=$start; $i < $end; $i++)

{

do ($foo[$i]);

}

}

//have both of these run in parallel

wrapper(0,50);

wrapper(51,100);

我看着Gearman,但是我无法使用它,因为我无法安装齿轮服务器(因为我在一个共享的服务器上).看来,通过分叉的方式来实现这一点.我尝试阅读很多关于它,但文档和支持很少.任何帮助/线框代码将不胜感激.

要定义我的问题,我如何调用wrapper()传递参数,以便它在子进程中执行.此外,重要的是我可以注册一个回调函数.

附加详细信息:PHP 5.3,在Linux服务器上运行.脚本由cgi-fcgi执行.

我认为这是我应该如何产生一个子进程,但是如何使用它来生成多个子进程?而如何注册回调函数?

$pid = pcntl_fork();

if ( $pid == -1 ) {

// Fork failed

exit(1);

} else if ( $pid ) {

// The parent process

//should I repeat this same code here to spawn another child process?

} else {

// the child process

//can I call wrapper from here and will it run in this child process?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值