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

首頁 > 開發 > PHP > 正文

PHP多線程類及用法實例

2024-05-04 23:28:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP多線程類及用法,實例分析了多線程類的具體實現方法及應用技巧,并結合下載遠程圖片的實例予以深入分析,需要的朋友可以參考下
 
 

本文實例講述了PHP多線程類及用法。分享給大家供大家參考。具體分析如下:

一般來說可通過WEB服務器來實現PHP多線程功能,當然,對多線程有深入理解的人都知道通過WEB服務器實現的多線程只能模仿多線程的一些效果,并不是真正意義上的多線程.

但不管怎么樣,它還是能滿足我們的一些需要的,在需要類似多線程的功能方面還是可以采用這個類,代碼如下:

復制代碼代碼如下:
/** 
* @title: PHP多線程類(Thread) 
* @version: 1.0 

* PHP多線程應用示例: 
* require_once 'thread.class.php'; 
* $thread = new thread(); 
* $thread->addthread('action_log','a'); 
* $thread->addthread('action_log','b'); 
* $thread->addthread('action_log','c'); 
* $thread->runthread(); 

* function action_log($info) { 
* $log = 'log/' . microtime() . '.log'; 
* $txt = $info . "rnrn" . 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn"; 
* $fp = fopen($log, 'w'); 
* fwrite($fp, $txt); 
* fclose($fp); 
* } 
*/ 
class thread { 
var $hooks = array(); 
var $args = array(); 
function thread() { 

function addthread($func) 

$args = array_slice(func_get_args(), 1); 
$this->hooks[] = $func; 
$this->args[] = $args; 
return true; 

function runthread() 

if(isset($_GET['flag'])) 

$flag = intval($_GET['flag']); 

if($flag || $flag === 0) 

call_user_func_array($this->hooks[$flag], $this->args[$flag]); 

else 

for($i = 0, $size = count($this->hooks); $i < $size; $i++) 

$fp=fsockopen($_SERVER['HTTP_HOST'],$_SERVER['SERVER_PORT']); 
if($fp) 

$out = "GET {$_SERVER['PHP_SELF']}?flag=$i HTTP/1.1rn"; 
$out .= "Host: {$_SERVER['HTTP_HOST']}rn"; 
$out .= "Connection: Closernrn"; 
fputs($fp,$out); 
fclose($fp); 




}

使用方法,代碼如下:
復制代碼代碼如下:
$thread = new thread(); 
$thread->addthread('func1','info1'); 
$thread->addthread('func2','info2'); 
$thread->addthread('func3','info3'); 
$thread->runthread();

說明:

 

addthread() 是添加線程函數,第一個參數是函數名,之后的參數(可選)為傳遞給指定函數的參數.

runthread() 是執行線程的函數.

PHP實例:利用curl實現多線程下載圖片

其實是php利用curl實現的一個多線程類,有了這個類,我們也可利用該類執行多線程任務了,代碼如下:

復制代碼代碼如下:
class curl_multi{  
    private $url_list=array();  
    private $curl_setopt=array(  
        'CURLOPT_RETURNTRANSFER' => 1,//結果返回給變量  
        'CURLOPT_HEADER' => 0,//是否需要返回HTTP頭  
        'CURLOPT_NOBODY' => 0,//是否需要返回的內容  
        'CURLOPT_FOLLOWLOCATION' => 0,//自動跟蹤  
        'CURLOPT_TIMEOUT' => 6//超時時間(s)  
    );  
    function __construct($seconds=30){  
        set_time_limit($seconds);  
    }  
    /*  
     * 設置網址  
     * @list 數組  
     */  
    public function setUrlList($list=array()){  
        $this->url_list=$list;  
    }  
    /*  
     * 設置參數  
     * @cutPot array  
     */  
    public function setOpt($cutPot){  
        $this->curl_setopt=$cutPot+$this->curl_setopt;  
    }  
    /*  
     * 執行  
     * @return array  
     */  
    public function execute(){  
        $mh=curl_multi_init();  
        foreach($this->url_list as $i=>$url){  
            $conn[$i]=curl_init($url);  
            foreach($this->curl_setopt as $key => $val){  
                curl_setopt($conn[$i],preg_replace('/(CURLOPT_w{1,})/ie','$0',$key),$val);  
            }  
            curl_multi_add_handle($mh,$conn[$i]);  
        }  
        $active=false;  
        do{  
            $mrc=curl_multi_exec($mh,$active);  
        }while($mrc == CURLM_CALL_MULTI_PERFORM);  
  
        while($active and $mrc == CURLM_OK){  
            if(curl_multi_select($mh) != -1){  
                do{  
                    $mrc=curl_multi_exec($mh,$active);  
                }while($mrc == CURLM_CALL_MULTI_PERFORM);  
            }  
        }  
        $res=array();  
        foreach($this->url_list as $i => $url){  
            $res[$i]=curl_multi_getcontent($conn[$i]);  
            curl_close($conn[$i]);  
            curl_multi_remove_handle($mh,$conn[$i]);//釋放資源    
        }  
        curl_multi_close($mh);  
        return $res;  
    }  
}

php使用多線程下載類示例,下載遠程圖片,代碼如下:
復制代碼代碼如下:
$curl_mul=new curl_multi();  
$curl_mul->setUrlList(array('http://www.49028c.com/img/logo.jpg','http://www.49028c.com/img/logo.jpg','http://www.49028c.com/img/logo.jpg'));  
$a=$curl_mul->execute();  
$i=1;  
foreach($a as $v){  
        $filename=$i.'.gif';  
        $fp2=@fopen($filename,'a');  
        fwrite($fp2,$v);  
        fclose($fp2);  
        $i++;  
}

 

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产电影| 欧美肥老妇视频| 亚洲高清福利视频| 91免费视频网站| 亚洲国产一区二区三区四区| 国产日韩欧美日韩| 亚洲电影免费在线观看| 日韩精品免费在线视频| 亚洲欧美日韩一区二区三区在线| 影音先锋欧美精品| 亚洲成av人乱码色午夜| 91在线观看免费高清完整版在线观看| 欧美二区乱c黑人| 精品人伦一区二区三区蜜桃网站| 亚洲欧美国产精品专区久久| 亚洲欧美精品伊人久久| 日韩理论片久久| 国产综合久久久久久| 精品免费在线视频| 91热精品视频| 成人国产在线激情| 色偷偷av亚洲男人的天堂| 欧美精品久久久久a| 国产精品va在线播放| 亚洲成人av资源网| 久久久久久成人精品| 日韩av中文字幕在线免费观看| 国产亚洲欧美日韩美女| 45www国产精品网站| 国产精品日韩av| 国产主播欧美精品| 中文字幕亚洲综合久久| 欧美午夜宅男影院在线观看| 欧美在线视频一二三| 国产精品欧美久久久| 亚洲欧美一区二区三区情侣bbw| 青青草原成人在线视频| 国产精品久久久久久搜索| 国产精品成人播放| 亚洲免费视频在线观看| 777午夜精品福利在线观看| 亚洲天堂av图片| 久久久久在线观看| 亚洲精品在线视频| 国产在线不卡精品| 国产精品美乳一区二区免费| 日韩在线免费观看视频| 日本韩国在线不卡| 国产成人精品av在线| 国产又爽又黄的激情精品视频| 日韩电影中文字幕在线观看| 久久在精品线影院精品国产| 精品人伦一区二区三区蜜桃网站| 欧美电影免费观看高清完整| 久久久成人av| 国产一区二区三区直播精品电影| 91香蕉嫩草神马影院在线观看| 57pao成人国产永久免费| 日韩欧美国产黄色| 国产亚洲精品美女久久久| 日韩亚洲第一页| 午夜精品久久久久久久白皮肤| 国产精品福利在线观看网址| 色婷婷av一区二区三区久久| 久久久女女女女999久久| 亚洲区在线播放| 欧美精品激情blacked18| 欧美国产中文字幕| 色综合久久88色综合天天看泰| 国产精品久久久久久久久久东京| 成人免费看片视频| 国产狼人综合免费视频| 亚洲精品av在线| 欧美日韩国产123| 欧美有码在线观看| 国产亚洲综合久久| 国产激情视频一区| 欧美高清无遮挡| 亚洲欧美综合精品久久成人| 久久夜精品香蕉| 亚洲欧美国产一区二区三区| 亚洲人成网站999久久久综合| 欧美有码在线观看视频| 欧美一区二三区| 亚洲精品国产suv| 91精品视频免费看| 2019精品视频| 亚洲国产第一页| 亚洲黄页网在线观看| 国产在线视频欧美| 日韩在线观看网址| 亚洲精品福利在线| 亚洲第一偷拍网| 日本高清不卡在线| 91精品国产九九九久久久亚洲| 亚洲精品国产精品自产a区红杏吧| 日本高清视频精品| 97免费视频在线播放| 97色在线播放视频| 欧美亚州一区二区三区| 欧美性videos高清精品| 欧美限制级电影在线观看| 亚洲级视频在线观看免费1级| 韩国日本不卡在线| 欧美成人黑人xx视频免费观看| 欧美日韩国产精品| 韩国19禁主播vip福利视频| 91在线免费视频| 欧美一区二粉嫩精品国产一线天| 久久理论片午夜琪琪电影网| 国产精品久久婷婷六月丁香| 伊人激情综合网| 日韩精品在线观看网站| 亚洲级视频在线观看免费1级| 欧美丰满老妇厨房牲生活| 日韩精品视频免费| 久久久久久久久综合| 欧美交受高潮1| 亚洲人成自拍网站| 久久伊人91精品综合网站| 日韩大陆欧美高清视频区| 欧美成人sm免费视频| 日韩成人高清在线| 亚洲在线视频福利| 久久精品最新地址| 欧美大胆在线视频| 亚洲综合日韩在线| 日韩精品在线视频美女| 亚洲第一天堂无码专区| 亚洲最大福利网| 欧美成人精品在线播放| 日韩精品高清在线观看| 国产精品三级在线| 久久精品视频一| 亚洲国产精品成人一区二区| 九九热视频这里只有精品| 国产精品久久久久影院日本| 亚洲免费人成在线视频观看| 亚洲成人性视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 97精品国产97久久久久久| 亚洲免费人成在线视频观看| 中文字幕精品国产| 97在线看免费观看视频在线观看| 成人a在线观看| 国产精品jvid在线观看蜜臀| 亚洲欧美国产精品久久久久久久| 九九热这里只有在线精品视| 久久好看免费视频| 国产亚洲精品一区二区| 亚洲最新av在线网站| 在线播放国产一区二区三区| 日韩国产欧美精品在线| 欧美美女操人视频| 亚洲精品一区中文字幕乱码| 91久久精品日日躁夜夜躁国产| 国产欧美日韩中文字幕在线| 色综合久久88色综合天天看泰| 亚洲天堂免费在线| 第一福利永久视频精品| 欧美专区第一页| 亚洲r级在线观看| 日韩成人在线视频观看| 欧美一区二区大胆人体摄影专业网站|