Home  >  Article  >  Backend Development  >  pthreads multi-threaded data collection, pthreads data collection_PHP tutorial

pthreads multi-threaded data collection, pthreads data collection_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 09:01:291310browse

pthreads multi-threaded data collection, pthreads data collection

The multi-threading that used curl in the past was not a real multi-threading, it was just a simulated multi-threading, now it is implemented using pthreads Multi-threading in the true sense.

Download:

Under windows:

 http://windows.php.net/downloads/pecl/releases/pthreads/0.0.45/

Under mac, unix, linux:

 https://github.com/krakjoe/pthreads

Installation method:

Under windows:

Extract the pthreadVC2.dll and php_pthreads.dll files, put the vc2 file into the same directory as php.exe, and put php_pthreads.dll into the extension directory.

Modify the php.ini file and add extension=php_pthreads.dll

Modify the Apache configuration file httpd.conf and add LoadFile "yourpath/php/pthreadVC2.dll"

Under mac, unix, linux:

For details, please refer to Brother Yan’s blog http://blog.s135.com/pthreads/

Calling method:

For specific usage, you can also refer to Brother Yan’s blog http://blog.s135.com/pthreads/

Combined with the previous get_html, the class can also be implemented in this way

pthreads multi-threaded data collection, pthreads data collection_PHP tutorial
 1 class threads extends Thread
 2 {
 3     public $url = '';
 4     public $options = array();
 5     public $data;
 6 
 7     public function __construct($url, $options = array()){
 8         $this->url = $url;
 9         $this->options = $options;
10     }
11 
12     public function run(){
13         if(!empty($this->url)){
14             $this->data = $this->get_html($this->url, $this->options);
15         }
16     }
17 
18     public function get_html($url,$options = array()){
19         if(empty($options)){
20             $options[CURLOPT_RETURNTRANSFER] = true;
21             $options[CURLOPT_TIMEOUT] = 5;
22         }
23         $ch = curl_init($url);
24         curl_setopt_array($ch,$options);
25         $html = curl_exec($ch);
26         curl_close($ch);
27         if($html === false){
28             return false;
29         }
30         return $html;
31     }
32 }
pthreads multi-threaded data collection, pthreads data collection_PHP tutorial

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1089436.htmlTechArticlepthreads multi-threaded data collection. The multi-threading used in curl before pthreads data collection is not really multi-threaded, just a A simulated multi-threading, now using pthreads to achieve the real meaning...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn