pthread は、UNIX 風のマルチスレッド サポート ライブラリであり、PHP のマルチスレッド拡張サポート ライブラリとして使用できます。
php_pthreads-2.0.10-5.3-ts-vc9-x86.zip をダウンロードしました。コンピューターは 64 ビットです。つまり、このバージョンは php5.3.x スレッド セーフ (ts) バージョンをサポートしています。 , もちろん、名前にも 5.3-ts バージョンがマークされています。
インストール方法はこちらを参照してください
PHPインストールpthreadsマルチスレッド拡張機能チュートリアル
注: バージョンが新しすぎると、インストールが成功しない可能性がありますので、インストールしないでください。 phpの。
コードの一部でテストしてみましょう:
<?phperror_reporting(E_ALL ^ E_NOTICE);ob_implicit_flush();header('content-type:text/html;charset=utf-8');class AsyncTask extends Thread { private $arg; private $index; public function __construct($arg){ $this->arg = $arg; $this->index = 0; } public function run(){ if($this->arg){ while($this->index<10) { echo microtime(true)."---线程ID:".(Thread::getCurrentThreadId())."---index=".$this->index."<br/>"; $this->index++; } } }}$thread = new AsyncTask("Woker");if($thread->start()) { $index = 0; while($index<10){ //在主线程输出红色文本 echo "<font color='red'>".microtime(true)."---主线程ID".(Thread::getCurrentThreadId())."--index=".$index."</font><br/>"; $index++; } }else{ echo "failed"; }?>
実行結果
時間出力を比較すると、次のことがわかりました。メインスレッドとサブスレッドマルチスレッド実行効果と一致していますが、結果の出力が対象です。