加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php多任务程序实例介绍

发布时间:2022-07-01 16:20:54 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php多任务程序实例,需要的朋友可以参考下,本文以实例简单解析了php多任务程序的实现方法,具体代码如下: ?php error_reporting(E_ALL); set_time_limit(0); /** * php多任务程序的实现 * 借助proc_open * 其实该叫进程(process) * 能启
  这篇文章主要介绍了php多任务程序实例,需要的朋友可以参考下,本文以实例简单解析了php多任务程序的实现方法,具体代码如下:
 
  <?php
  error_reporting(E_ALL);
  set_time_limit(0);
  /**
  * php多任务程序的实现
  * 借助proc_open
  * 其实该叫进程(process)
  * 能启动多进程,你可以使用你的想象力做你想做的了,以后再写个能用的
  * 如果你是在linux上跑php,并且启用pcntl模块后,使用pcntl函数该更好
  *  
  */
  class Thread {
       $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(emptyempty($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 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);
  } 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读