PHP cURL并发里的callback那行是什么功能?
function rolling_<a style="color:#f60; text-decoration:underline;" title="curl" href="https://www.php.cn/zt/17285.html" target="_blank">curl</a>($urls, $delay) {<br>
$queue = curl_multi_init();<br>
$map = array();<br>
<br>
foreach ($urls as $url) {<br>
$ch = curl_init();<br>
<br>
curl_setopt($ch, CURLOPT_URL, $url);<br>
curl_setopt($ch, CURLOPT_TIMEOUT, 1);<br>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>
curl_setopt($ch, CURLOPT_HEADER, 0);<br>
curl_setopt($ch, CURLOPT_NOSIGNAL, true);<br>
<br>
curl_multi_add_handle($queue, $ch);<br>
$map[(string) $ch] = $url;<br>
}<br>
<br>
$responses = array();<br>
do {<br>
while (($code = curl_multi_exec($queue, $active)) == CURLM_CALL_MULTI_PERFORM) ;<br>
<br>
if ($code != CURLM_OK) { break; }<br>
<br>
// a request was just completed -- find out which one<br>
while ($done = curl_multi_info_read($queue)) {<br>
<br>
// get the info and content returned on the request<br>
$info = curl_getinfo($done['handle']);<br>
$error = curl_error($done['handle']);<br>
$results = callback(curl_multi_getcontent($done['handle']), $delay);<br>
$responses[$map[(string) $done['handle']]] = compact('info', 'error', 'results');<br>
<br>
// remove the curl handle that just completed<br>
curl_multi_remove_handle($queue, $done['handle']);<br>
curl_close($done['handle']); <div class="clear"></div>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号