ホームページ  >  記事  >  バックエンド開発  >  PHP 拡張機能のマルチスレッド化

PHP 拡張機能のマルチスレッド化

墨辰丷
墨辰丷オリジナル
2018-05-16 11:47:142484ブラウズ

この記事では主に 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
rreee

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);
        }
    }
}

関連する推奨事項:

H5+WebWorkersのマルチスレッド開発と使用の説明

フラッシュセールを達成し注文を獲得するためのPHPマルチスレッドシミュレーション

マルチプロセスとマルチスレッドを実現するためのPHP

以上がPHP 拡張機能のマルチスレッド化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。