您的位置:首页 > 编程语言 > PHP开发

php多进程操作类

2015-10-13 10:47 701 查看
<?php

$root_dir = dirname(__FILE__);

/**

* 多进程操作类

* Class FileOperation

*/

class MultipleProcesses{

/**

* 运行

* @param $data 数据【品牌数组】

* @param int $workers 进程熟

*/

function run($data, $workers=20) {

$max = count($data);

$pids = array();

for($i = 0; $i < $workers; $i++){

$pids[$i] = pcntl_fork();

switch ($pids[$i]) {

case -1:

echo "fork error : {$i} \r\n";

exit;

case 0:

$param = array(

'lastid' => $max / $workers * $i,

'maxid' => $max / $workers * ($i+1),

);

//$this->executeWorker($i, $param);//TODO 调用方法

exit;

default:

break;

}

}

foreach ($pids as $i => $pid) {

if($pid) {

pcntl_waitpid($pid, $status);

}

}

}//fun end

}//class end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: