加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_常德站长网 (https://www.0736zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php如何实现多线程

发布时间:2022-10-06 15:02:17 所属栏目:PHP教程 来源:
导读:  php中可以实现多线程,是一种利用旧的exec函数通过异步处理方法实现多线程的,exec函数本身就是一个执行外部程序的php函数。下面我们就来具体看看php多线程的实现方法。

  推荐手册:php完全自学手册
  php中可以实现多线程,是一种利用旧的exec函数通过异步处理方法实现多线程的,exec函数本身就是一个执行外部程序的php函数。下面我们就来具体看看php多线程的实现方法。
 
  推荐手册:php完全自学手册
 
  php入门到就业线上直播课:进入学习
 
  我们首先来看一个示例
 
   /dev/null &");
   
          echo "处理完成了";
      }
  }
  ?>
  当执行上述操作时,即使在耗时的处理结束之前也显示处理完成。
 
  exec("php static_massive.php > /dev/null &");
  由于“ > / dev / null& ”返回的值丢失,我们不会等待响应。
 
  因此,处理完成指示比耗时处理更快。
 
  但是,该方法不知道耗时的处理何时结束。
 
  不要忘记考虑采取日志的执行,登录DB等方法向用户传递执行结果。
 
  用于多线程的方法(pthreads)
 
  最后,介绍使用PHP扩展模块pthreads的方法。
 
  它可以比上面使用exec的方法更简单。
 
  ①配置环境并安装php
 
  请使用vagrant等准备喜欢的环境。
 
  php 需要使用线程安全版本,这是多线程和安全的实现。
 
  从官方下载线程安全版本的 PHP。
 
  访问以下内容并从图中的红框下载。
 
  微信截图_20190125140002.png
 
  此外php单线程,对于线程安全安装,您需要使用configure选项指定-enable-maintainer-zts。
 
  ./configure --enable-maintainer-zts
  根据需要,也可以安上Apache和mysql的选项。
 
  用以下命令确认了php的版本就可以了。
 
  php -v
  ②pthreads的安装
 
  我们来下载zip格式。
 
  解压zip,移动到解压缩文件,然后执行phpize。
 
  如果您在PHP模块列表上运行pthreads,则可以执行以下操作。
 
  php -m
  根据环境的不同,这一块的设定也会有所不同,可以用环境名+pthreads等进行检索来寻找信息。
 
  ③尝试使用多线程
 
  示例如下
 
  start();
  $ts2 = new pthreadsTest();
  $ts2->start();
  ?>
  因为sleep(5)被调用两次,所以需要10秒,但实际上它将是5秒。
 

(编辑:应用网_常德站长网)

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