色尼玛亚洲综合影院,亚洲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多任務程序實例解析,轉載需保留來源!

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

主站蜘蛛池模板: 柞水县| 西乡县| 安图县| 策勒县| 搜索| 万载县| 新津县| 建德市| 怀化市| 云霄县| 上饶县| 延庆县| 钟山县| 邹平县| 西青区| 德江县| 新营市| 辽宁省| 舟山市| 石首市| 体育| 阳东县| 古浪县| 天镇县| 荔浦县| 内江市| 毕节市| 内黄县| 盐城市| 渑池县| 望奎县| 葵青区| 永宁县| 云安县| 怀来县| 西峡县| 光山县| 岐山县| 无为县| 邵武市| 闸北区|