【发布时间】:2019-03-28 05:40:39
【问题描述】:
我正在开发一个模块,该模块使用 10 个队列来处理线程,每个线程都使用 curl_easy 接口(以及 Lock)发送 curl 请求,以便;保持一个连接,直到没有收到响应。我想通过使用 curl_multi 接口来增强请求处理,其中 curl 请求由线程发送并以并行方式处理。
我创建了一个单独的代码来实现它。例如,我创建了 3 个线程,逐个处理,第一个线程向 curl_multi 发送请求,直到它运行并且存在传输,它使用 curl_easy 接口为每次传输分配资源。
我已经浏览了很多示例,但无法弄清楚如何在 C++ 中实现它。另外,因为我最近在 C++ 中学习了多线程和 curl 概念,所以我需要有关方法的帮助。
我希望单个线程应该能够发送 curl 请求,直到用户不停止发送。
更新 - 我添加了两个线程,每个线程同时发送两个请求。 curl_multi 由一组句柄处理,用于 curl_easy。 我想让它没有数组,因为这限制了请求的数量。
是否可以使其异步并仅在客户端/用户接受所有传输并退出时才退出。 curl_multi 有足够多的例子,所以我不清楚它的实现。
【问题讨论】:
标签: c++ multithreading asynchronous curl curl-multi