この記事では主に PHP マルチスレッドについて紹介します。興味のある方はぜひ参考にしてください。
PHP 5.3 以降では、pthreads PHP 拡張機能を使用して、PHP でマルチスレッドを真にサポートできるようになります。
マルチスレッドにより、反復的な周期タスクを処理する際のプログラムの実行時間を大幅に短縮できます。
PHP 拡張機能のダウンロード: https://github.com/krakjoe/pthreads
PHP マニュアルドキュメント: http://php.net/manual/zh/book.pthreads.php
1. 拡張機能のコンパイルとインストール (Linux)、編集パラメーター –enable-maintainer-zts は必須です:
'./configure' '--prefix=/usr/local/webserver/php' '--with-config-file-path=/usr/local/webserver/php/etc' '--with-apxs2=/usr/local/webserver/httpd/bin/apxs' '--with-libxml-dir=/usr/local/webserver/libxml2' '--with-mysql=/usr/local/webserver/mysql' '--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config' '--enable-soap' '--enable-sockets' '--with-curl' --enable-maintainer-ztsmake clean make make install unzip pthreads-master.zip cd pthreads-master /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
makemake install
vi /usr/local/webserver/php/etc/php.ini
を追加します。Baidu 検索ページの PHP コード例をキャプチャするための PHP マルチスレッドと For ループを提供します:
extension = "pthreads.so"
<?php class test_thread_run extends Thread{ public $url; public $data; public function __construct($url) { $this->url = $url; } public function run() { if(($url = $this->url)) { $this->data = model_http_curl_get($url); } } }
関連する推奨事項:
フラッシュセールを達成し注文を獲得するためのPHPマルチスレッドシミュレーション
以上がPHP 拡張機能のマルチスレッド化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。