色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php多任務程序實例解析

本文以實例簡單解析了php多任務程序的實現方法,具體代碼如下:

<?phperror_reporting(E_ALL);set_time_limit(0);/*** php多任務程序的實現* 借助proc_open* 其實該叫進程(process)* 能啟動多進程,你可以使用你的想象力做你想做的了,以后再寫個能用的* 如果你是在linux上跑php,并且啟用pcntl模塊后,使用pcntl函數該更好* */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;  }}// 測試代碼$file = __FILE__;if(empty($argv[1])) {  $t2 = Thread::getInstance("$file 1");  $t3 = Thread::getInstance("$file 2");  $t4 = Thread::getInstance("$file 3");  $t5 = Thread::getInstance("$file 4");  $t5 = Thread::getInstance("$file 5");  $t5 = Thread::getInstance("$file 6");  $t2 = Thread::getInstance("$file 7");  $t3 = Thread::getInstance("$file 8");  $t4 = Thread::getInstance("$file 9");  $t5 = Thread::getInstance("$file 10");  $t5 = Thread::getInstance("$file 11");  $t5 = Thread::getInstance("$file 12");  echo "Main thread done/n";} else {  $somecontent = "/r/n//~~~~~~~~~~~~-這次請求序號是:" . $argv[1];  sleep(mt_rand(0, 3));  $handle = fopen($file, 'a+');  fwrite($handle, $somecontent);}

php技術php多任務程序實例解析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 长白| 阿勒泰市| 寿光市| 同仁县| 安达市| 靖西县| 汽车| 平乡县| 新晃| 东兰县| 大厂| 拜城县| 蕲春县| 瑞金市| 锡林郭勒盟| 施甸县| 赤城县| 蕉岭县| 新竹县| 含山县| 枣庄市| 来宾市| 长乐市| 潼南县| 宜阳县| 望谟县| 闽侯县| 房产| 日土县| 神池县| 新平| 敖汉旗| 本溪| 鄂尔多斯市| 蒲江县| 璧山县| 莫力| 金塔县| 阳西县| 双江| 佛坪县|