PHP 多进程并行操作的简单示例(可做守护进程)

前端之家收集整理的这篇文章主要介绍了PHP 多进程并行操作的简单示例(可做守护进程)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP实现多进程并行操作(可做守护进程)感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
PHP简单实现多进程并行处理,子进程负责处理事物,父进程可控制子进程数量,用pcntl扩展实现(备注:在windows下此效果无法实现)

/**
 * PHP实现多进程并行操作(可做守护进程)
 *
 * @param 
 * $func为子进程执行具体事物的函数名称
 * $opt为$func的参数 数组形式
 * $pNum 为fork的子进程数量
 * @arrange 网: www.jb51.cc
 */
function ProcessOpera($func,$opts = array(),$pNum = 1) {
	while(true) {
		$pid = pcntl_fork();
		if($pid == -1) {
			exit("pid fork error");
		}   
		if($pid) {
			static $execute = 0;
			$execute++;
			if($execute >= $pNum) {
				pcntl_wait($status);
				$execute--;
			}   
		} else {
			while(true) {
				//somecode
				$func($opts);
				sleep(1);
			}   
			exit(0);
		}   
	}   
}
/***   来自编程之家 jb51.cc(jb51.cc)   ***/

猜你在找的PHP相关文章