在 PHP 中,實現多線程可以通過使用 pthreads 擴展。但是,需要注意的是,從 PHP 7.2 開始,pthreads 不再是官方推薦的多線程解決方案,因為它僅適用于 CLI(命令行接口)模式,并且不支持 Web 環境。相反,PHP 開發者應該考慮使用其他并發模型,例如使用異步編程庫(如 ReactPHP 或 Amp)或者利用多進程(如使用 pcntl 擴展)。
以下是使用 pthreads 擴展實現多線程的一個簡單示例:
<?php
class ParallelThread extends Thread {
private $arg;
public function __construct($arg) {
$this->arg = $arg;
}
public function run() {
echo "Running in new thread, argument: {$this->arg}\n";
}
}
// 創建線程對象
$thread = new ParallelThread("test");
// 開始線程
$thread->start();
// 等待線程執行完成
$thread->join();
echo "Thread executed\n";
?>
在運行上述代碼之前,請確保已經安裝并啟用了 pthreads 擴展。可以通過在 php.ini 文件中取消注釋 extension=pthreads
來啟用擴展。此外,由于 pthreads 不支持 Web 環境,因此上述代碼應在 CLI 模式下運行。