手机
当前位置:查字典教程网 >编程开发 >php教程 >php多任务程序实例解析
php多任务程序实例解析
摘要:本文以实例简单解析了php多任务程序的实现方法,具体代码如下:_pref=0;}publicstaticfunctiongetInstanc...

本文以实例简单解析了php多任务程序的实现方法,具体代码如下:

<?php error_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 donen"; } else { $somecontent = "rn//~~~~~~~~~~~~-这次请求序号是:" . $argv[1]; sleep(mt_rand(0, 3)); $handle = fopen($file, 'a+'); fwrite($handle, $somecontent); }

【php多任务程序实例解析】相关文章:

一个ORACLE分页程序,挺实用的.

php生成zip文件类实例

php线性表的入栈与出栈实例分析

PHP的开合式多级菜单程序

一个程序下载的管理程序(一)

PHP文件读取功能的应用实例

php注入实例

php数组合并与拆分实例分析

php编写的抽奖程序中奖概率算法

php遍历CSV类实例

精品推荐
分类导航