【问题标题】:PHP cURL multithreading without curl_multi, how to?没有curl_multi的PHP cURL多线程,如何?
【发布时间】:2015-06-26 09:02:01
【问题描述】:

我知道这很可能是一个非常愚蠢的问题,我一直在使用 curl_multi 和 https://github.com/petewarden/ParallelCurl/ 等类进行多线程处理。

但最近我遇到了这个构建一个网络代理,一个名为glype的开源PHP网络代理框架。

在我看来,所有资源都是由 cURL 获取的,而且它的源代码中没有 curl_multi,代码只包含 curl_init 和 curl_exec。

也就是说,img(可能还有其他 src)同时加载,我简要浏览了代码,但未能找到它如何以这种方式工作的线索。

有人尝试过不使用 curl_multi 的多线程 cURL 吗? (不包括 PHP pthread)

【问题讨论】:

    标签: php multithreading curl curl-multi webproxy


    【解决方案1】:

    cURL Multi 与多线程或并行无关。

    cURL Multi 是 cURL 扩展中的一组函数,它们使用非阻塞 I/O 异步执行请求。

    需要明确的是,cURL Multi 不是并行的,也不是多线程的:它促进了非阻塞异步 I/O。

    Glype 使用为代码提供服务的服务器的处理模型:当您的浏览器通过 Glype 请求页面时,服务器负责创建(或重用)执行 Glype 的进程。同样,当页面向服务器请求 CSS 或图像等资源时,是服务器创建(或重用)一个进程,该进程依次执行 PHP 解释器,该解释器又执行 Glype。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 2012-09-05
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      相关资源
      最近更新 更多