日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php 代码线程,php实现多线程代码

發(fā)布時(shí)間:2025/3/20 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 代码线程,php实现多线程代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本篇文章給大家分享的內(nèi)容是關(guān)于php實(shí)現(xiàn)多線程代碼,有著一定的參考價(jià)值,有需要的朋友可以參考一下

PHP本身是不支持多線程的,我們可以通過(guò)php自身函數(shù)虛擬處理啊多線程。下面介紹三個(gè)函數(shù)來(lái)實(shí)現(xiàn)多進(jìn)程。

一、fsockopen,打開(kāi)一個(gè)網(wǎng)絡(luò)連接或者一個(gè)Unix套接字連接。其中stream_set_blocking() - 為資源流設(shè)置阻塞或者阻塞模式

* @title: PHP多線程類(lèi)(Thread)

* @version: 1.0

*

* PHP多線程應(yīng)用示例:

* 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']);

stream_set_blocking($fp,0);

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

}

}

}

}

}

二、stream_socket_client,PHP5中可以使用新增的stream_socket_client()函數(shù)直接替換掉fsocketopen()。其中stream_set_blocking() - 為資源流設(shè)置阻塞或者阻塞模式

$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);

stream_set_blocking($fp,0);

if (!$fp) {

echo "$errstr ($errno)
\n";

} else {

fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");

while (!feof($fp)) {

echo fgets($fp, 1024);

}

fclose($fp);

}

?>

三、curl_multi,當(dāng)需要多線程的時(shí)候,可以用curl_multi一次性請(qǐng)求多個(gè)操作來(lái)完成,但curl走的是網(wǎng)絡(luò)通信,效率與可靠性就比較差了的。

function sendMulitRequest($send_data){

$params = array();

$curl = $text = array();

$handle = curl_multi_init();

foreach ($data as $k => $v) {

if (empty($v['url'])) {

$v['url'] = "http://www.xxx.com"; //if url is empty,set defalut url

}

$reqBody = json_encode($v['body']);

$reqStream = array(

'body' => $reqBody,

);

$encRequest = base64_encode(json_encode($reqStream));

$params['data'] = $encRequest;

$curl[$k] = curl_init();

curl_setopt($curl[$k], CURLOPT_URL, $v['url']);

curl_setopt($curl[$k], CURLOPT_POST, TRUE);

curl_setopt($curl[$k], CURLOPT_HEADER, 0);

curl_setopt($curl[$k], CURLOPT_POSTFIELDS, http_build_query($params));

curl_setopt($curl[$k], CURLOPT_RETURNTRANSFER, 1);

curl_multi_add_handle($handle, $curl[$k]);

}

$active = null;

do {

$mrc = curl_multi_exec($handle, $active);

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {

if (curl_multi_select($handle) != -1) {

do {

$mrc = curl_multi_exec($handle, $active);

} while ($mrc == CURLM_CALL_MULTI_PERFORM);

}

}

foreach ($curl as $k => $v) {

if (curl_error($curl[$k]) == "") {

$text[$k] = (string) curl_multi_getcontent($curl[$k]);

}

curl_multi_remove_handle($handle, $curl[$k]);

curl_close($curl[$k]);

}

curl_multi_close($handle);

return $text;

}

相關(guān)推薦:

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的php 代码线程,php实现多线程代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青娱乐国产在线视频 | 高清精品xnxxcom | 久久av资源站 | 亚洲男人天堂2022 | 午夜视频在线免费 | 99国内揄拍国内精品人妻免费 | 亚洲AV无码成人国产精品色 | 欧美最顶级a∨艳星 | 亚洲视频免费播放 | 少妇熟女视频一区二区三区 | 日韩国产电影 | 一区二区三区四区免费观看 | 在线免费观看www | 中文字幕在线播放av | 在线观看高清视频 | 欧美成人专区 | 你懂的视频在线播放 | 久久国产精品亚洲 | 日韩精品一区二区三区丰满 | 国产精品久线在线观看 | 另类天堂| 爱情岛论坛永久入址测速 | 韩日一区二区三区 | 欧洲金发美女大战黑人 | 国产一区二区三区影视 | 国产精品波多野结衣 | 久久久久亚洲日日精品 | 性——交——性——乱免费的 | 69国产精品视频免费观看 | 亚洲无码久久久久 | 亚洲九九爱 | 精品国产乱码久久久久久浪潮 | 久久精品aⅴ无码中文字字幕重口 | 99热3| www.中文字幕av | 波多野结衣在线一区 | 国产午夜激情 | 国产激情一区 | 99ri国产精品| 男人操女人免费网站 | 日韩久操| 日韩中文字幕网址 | 日韩色综合| 色一情一交一乱一区二区三区 | 黑丝美女啪啪 | 2024国产精品 | 污污网站在线观看视频 | 天天操天天摸天天干 | av中文资源 | 成年人的天堂 | 欧美日韩一级在线观看 | 五月激情四射网 | 亚洲最大成人av | 91女神在线 | 一区二区三区四区免费观看 | 四虎影视免费看 | 国产亚洲精品自拍 | 国产日韩欧美在线 | 少妇免费直播 | 91色国产| 青青91| 国产成人精品视频在线观看 | 嫩草研究院在线观看 | 麻豆国产在线播放 | 熟女国产精品一区二区三 | 午夜av免费看| 一区二区在线影院 | 美女毛片在线观看 | 亚洲美女性生活视频 | 性一交一乱一区二区洋洋av | 777午夜| 亚洲精品2 | 香港台湾日本三级大全 | 亚洲影视网 | 欧美日韩国 | 人人草在线视频 | 久草青青草 | 九九视频在线 | 色婷婷综合网 | 九九激情网 | 成人婷婷 | 亚洲精品久久久久久久久久久 | 日韩特黄毛片 | 欧美在线观看一区 | 有码av在线| 午夜不卡在线观看 | 欧美激情一级精品国产 | 奇米狠狠干 | 免费看国产视频 | 97xxx| 91麻豆精品国产91久久久久久 | 在线欧美成人 | 精品久久久久久久无码 | 久久久久毛片 | 91刺激视频 | 国内免费精品视频 | 国产做爰视频免费播放 | 亚洲成人高清在线 | 自拍偷拍精品 |