gpt4 book ai didi

php - PHP-CURL 的 curl_multi_exec 内部真的是多线程的吗?

转载 作者:可可西里 更新时间:2023-11-01 13:11:28 25 4
gpt4 key购买 nike

如标题所述,我的问题非常简单。但是我再次改写。

我想使用 php-curl 下载多个站点。我将从控制台运行它。我要使用 curl_multi_exec下载所有网站。现在的问题是,curl 会为每个请求创建不同的线程吗?

我知道我可以通过 fork 多个进程来实现它。但这不是线程。我不想线程。我想知道它是否是多线程的?

最佳答案

没有。 libcurl 多接口(interface)(PHP 在后台使用它来完成这项工作)并行执行多个请求,但它使用非阻塞 API 调用来实现。不是线程。

过去

(这部分现在可以被认为是历史性的,因为 libcurl 早在多年前就默认使用线程解析器构建。)

当特定传输需要解析主机名时,人们可能会遇到问题,因为大多数操作系统中的标准主机名解析器功能是同步的,这使得每个解析 block 所有其他传输。在 libcurl 中,通过提供替代解析器后端来克服这一点,例如一个构建为使用 c-ares 进行解析,另一个在单独的线程中启动“库存解析器”——所谓的线程解析器。

关于php - PHP-CURL 的 curl_multi_exec 内部真的是多线程的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com