如何在 Windows 上的 PHP 中使用 Thread

How to use Thread in PHP on Windows

我想在 PHP 中使用线程。我正在使用 windows 。需要做什么才能做到这一点。这是我正在运行的代码。

<?php
class AsyncOperation extends Thread {
  public function __construct($arg){
    $this->arg = $arg;
  }

  public function run(){
    if($this->arg){
      printf("Hello %s\n", $this->arg);
    }
  }
}
$thread = new AsyncOperation("World");
if($thread->start())
  $thread->join();
?>

当我运行它显示的代码时

致命错误:Class 'Thread' 未在第 2 行的 D:\xampp\htdocs\my.php 中找到

提前致谢

您的系统似乎没有安装 pthreads 扩展。 这是一个自定义 PHP 扩展,默认情况下不随 XAMPP 一起安装。 去取吧。

您在 http://windows.php.net/downloads/pecl/releases/pthreads/

找到 Windows 的 pthread 版本

pthreadVC2.dll 添加到与 php.exe 相同的目录,例如C:\xampp\php 添加 php_pthreads.dll 到 PHP 扩展文件夹,例如。 C:\xampp\php\ext

然后通过在扩展部分添加 extension=php_pthreads.dll 来修改 php.ini

您发布的代码是一个基本示例,安装扩展后应该可以立即使用。


还有最上面的好东西: Video by Joe Watkins explaining "Parallel PHP"