您会为线程安全的HTTP客户端推荐哪个模块?
[替代方案:基于事件的多会话HTTP客户端]
额外要求:
答案 0 :(得分:2)
不要使用多个线程;这只会让事情变得缓慢,令你头疼。相反,使用可以执行并行请求的现有引擎。
例如,
Net::Curl::Multi和WWW::Curl::Mult提供对libcurl的访问权限,这是一个经过验证的,强大而快速的引擎。 (我已经在生产中使用了前者。)如果你愿意,你仍然可以在不同的线程中处理响应。
AnyEvent::HTTP和AnyEvent::Curl::Multi是另外两个这样的引擎。但是,使用这些会增加很多开销(这可能会影响性能和健壮性),而且我不知道各种事件循环如何处理线程环境。
如果这些模块中的任何一个没有Debian软件包,只需创建一个!
答案 1 :(得分:0)
AnyEvent::HTTP支持您想要使用的任何事件循环。