亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP多線程之內部多線程實例分析

2020-03-22 17:53:29
字體:
來源:轉載
供稿:網友
本文實例分析了PHP多線程之內部多線程用法。分享給大家供大家參考。具體如下:復制代碼 代碼如下: php
html' target='_blank'>class Http_MultiRequest
{
//要并行抓取的url 列表
private $urls = array();
//curl 的選項
private $options;
//構造函數
function __construct($options = array())
{
$this- setOptions($options);
}
//設置url 列表
function setUrls($urls)
{
$this- urls = $urls;
return $this;
}
//設置選項
function setOptions($options)
{
$options[CURLOPT_RETURNTRANSFER] = 1;
if (isset($options['HTTP_POST']))
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $options['HTTP_POST']);
unset($options['HTTP_POST']);
}
if (!isset($options[CURLOPT_USERAGENT]))
{
$options[CURLOPT_USERAGENT] = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;)';
}
if (!isset($options[CURLOPT_FOLLOWLOCATION]))
{
$options[CURLOPT_FOLLOWLOCATION] = 1;
}
if (!isset($options[CURLOPT_HEADER]))
{
$options[CURLOPT_HEADER] = 0;
}
$this- options = $options;
}
//并行抓取所有的內容
function exec()
{
if(empty($this- urls) || !is_array($this- urls))
{
return false;
}
$curl = $data = array();
$mh = curl_multi_init();
foreach($this- urls as $k = $v)
{
$curl[$k] = $this- addHandle($mh, $v);
}
$this- execMulitHandle($mh);
foreach($this- urls as $k = $v)
{
$data[$k] = curl_multi_getcontent($curl[$k]);
curl_multi_remove_handle($mh, $curl[$k]);
}
curl_multi_close($mh);
return $data;
}
//只抓取一個網頁的內容。
function execOne($url)
{
if (empty($url)) {
return false;
}
$ch = curl_init($url);
$this- setOneOption($ch);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
//內部函數,設置某個handle 的選項
private function setOneOption($ch)
{
curl_setopt_array($ch, $this- options);
}
//添加一個新的并行抓取 handle
private function addHandle($mh, $url)
{
$ch = curl_init($url);
$this- setOneOption($ch);
curl_multi_add_handle($mh, $ch);
return $ch;
}
//并行執行(這樣的寫法是一個常見的錯誤,我這里還是采用這樣的寫法,這個寫法
//下載一個小文件都可能導致cup占用100%, 并且,這個循環會運行10萬次以上
//這是一個典型的不懂原理產生的錯誤。這個錯誤在PHP官方的文檔上都相當的常見。)
private function execMulitHandle($mh)
{
$running = null;
do {
curl_multi_exec($mh, $running);
} while ($running
}
}
/*下面是上面的類的一個測試的例子:*/
$urls = array("http://baidu.com", "http://baidu.com", "http://baidu.com", "http://baidu.com", "http://baidu.com", "http://baidu.com", "http://www.google.com", "http://www.sina.com.cn", );
$m = new Http_MultiRequest();
$t = microtime(true);
$m- setUrls($urls);
//parallel fetch(并行抓取):
$data = $m- exec();
$parallel_time = microtime(true) - $t;
echo $parallel_time . "/n";
$t = microtime(true);
//serial fetch(串行抓?。?
foreach ($urls as $url)
{
$data[] = $m- execOne($url);
}
$serial_time = microtime(true) - $t;
echo $serial_time . "/n";希望本文所述對大家的php程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久av| 少妇高潮久久久久久潘金莲| 亚洲男女性事视频| 欧美激情国内偷拍| 午夜精品www| 久久久久久久爱| 九九综合九九综合| 97在线观看免费高清| 日韩精品视频三区| 亚洲午夜国产成人av电影男同| 九九热99久久久国产盗摄| 成人在线视频网站| 中文字幕欧美日韩| 久久这里只有精品视频首页| 欧美激情中文字幕在线| 中文字幕日韩av综合精品| 中文字幕亚洲一区二区三区五十路| 亚洲电影天堂av| 高清一区二区三区日本久| 国产成人av网址| 亚洲一区第一页| 欧美日韩亚洲精品一区二区三区| 成人黄色中文字幕| 在线电影中文日韩| 欧美日韩免费区域视频在线观看| 亚洲天堂2020| 国产欧美日韩专区发布| 欧美一级视频在线观看| 国产97免费视| 91成人天堂久久成人| 日韩成人在线视频网站| 亚洲影影院av| 欧美激情精品久久久久久黑人| 中文字幕欧美精品日韩中文字幕| 亚洲国产毛片完整版| 国产精品第七影院| 色偷偷综合社区| 一个人看的www久久| 亚洲偷熟乱区亚洲香蕉av| 久久久久久久999精品视频| 久久久久久有精品国产| 久久久国产精品免费| 九九九热精品免费视频观看网站| 久久精品视频免费播放| 亚洲欧美日韩一区二区三区在线| 欧美精品免费在线| 黄色成人在线播放| 亚洲国产精品视频在线观看| 国产精国产精品| 精品久久久久久久久久久| www高清在线视频日韩欧美| 色妞色视频一区二区三区四区| 久久夜色精品亚洲噜噜国产mv| 91国内揄拍国内精品对白| 国产综合在线观看视频| 亚洲成人精品av| 91免费电影网站| 亚洲精品电影久久久| 国产精品久久久久999| 国产成人精品av在线| 夜夜嗨av一区二区三区免费区| 欧美日韩中文字幕| 高清欧美性猛交xxxx黑人猛交| 国产一区二区香蕉| 国产91对白在线播放| 精品国产一区二区三区久久久| 欧美巨乳在线观看| 欧美国产视频一区二区| 91免费看片在线| 亚洲成avwww人| 国产精品免费视频xxxx| 伊人激情综合网| 国产va免费精品高清在线| 97婷婷大伊香蕉精品视频| 亚洲欧美国产精品va在线观看| 亚洲大尺度美女在线| 日韩中文在线不卡| 不卡伊人av在线播放| 欧美在线视频一二三| 欧美日韩精品在线| 午夜精品一区二区三区av| 在线观看精品自拍私拍| 555www成人网| 国产精品欧美日韩一区二区| 亚洲xxxx妇黄裸体| 成人国内精品久久久久一区| 亚洲高清在线观看| 7777精品久久久久久| 中文字幕亚洲综合| 国精产品一区一区三区有限在线| 成人欧美在线观看| 久久久精品免费视频| 欧美丝袜美女中出在线| 欧美高清第一页| 久久精品影视伊人网| 久久成人精品电影| 欧美放荡办公室videos4k| 国产aaa精品| 日韩在线高清视频| 欧美成aaa人片在线观看蜜臀| 国内成人精品一区| 国产精品第二页| 欧美第一淫aaasss性| 国产精品久久久久77777| 青青草国产精品一区二区| 亚洲精品久久久久| 国产精品第2页| 91精品视频在线免费观看| 91精品视频观看| 亚洲国产又黄又爽女人高潮的| 欧美精品一区二区三区国产精品| 亚洲网站在线播放| 最近2019中文免费高清视频观看www99| 日韩精品视频在线播放| 日本午夜精品理论片a级appf发布| 91成人国产在线观看| 福利一区福利二区微拍刺激| 亚洲天堂网站在线观看视频| 亚洲精品日韩在线| 成人免费在线视频网站| 久久久精品日本| 国产精品999999| 日韩欧美a级成人黄色| 久久99久久99精品中文字幕| 日本久久久久久久| 亚洲一区二区福利| 国产91精品久久久久久| 日韩av综合网站| 亚洲第一区中文字幕| 国产亚洲一区二区精品| 日韩精品中文字幕在线| 亚洲一区二区久久久久久| 在线观看亚洲区| 亚洲久久久久久久久久| 欧美黑人性猛交| 91在线观看免费高清完整版在线观看| 亚洲免费电影一区| 亚洲午夜国产成人av电影男同| 亚洲最大福利视频网| 久久久久久久久久久免费精品| 久久人人爽人人爽爽久久| 久久久久免费精品国产| 日韩av男人的天堂| 日韩精品免费观看| 欧美成人免费在线视频| 69视频在线播放| 亚洲黄色成人网| 91色视频在线导航| 欧美极品欧美精品欧美视频| 精品亚洲va在线va天堂资源站| 欧美精品999| 精品国产精品三级精品av网址| 欧美激情视频播放| 国产大片精品免费永久看nba| 日韩av在线精品| 成人久久精品视频| 日韩美女免费线视频| 亚洲欧美日本精品| 久久久久亚洲精品国产| 精品视频在线播放色网色视频| 亚洲影院色在线观看免费| 久久夜精品va视频免费观看| 国产精品亚洲第一区| 亚洲欧美制服综合另类|