<?php /** *基于PHP5实现 *借助proc_open *能启动多进程,你可以使用你的想象力做你想做的了 *如果你是在linux上跑php,并且启用pcntl模块后,使用pcntl函数该更好 **/ error_reporting(E_ALL); set_time_limit(0); class Thread { protected $_pref; // process reference protected static $_instance = null; protected $_pipes; private function __construct() { $this->_pref = 0; } public static function getInstance($file) { if (null == self::$_instance) { self::$_instance = new self; } $descriptor = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("file", "./error-output.txt", "a"), ); self::$_instance->_pref = proc_open("php -q $file", $descriptor, self::$_instance->_pipes); return true; } public function __destruct() { proc_close($this->_pref); $this->_pref = null; } ?>