【发布时间】:2013-05-06 14:45:16
【问题描述】:
使用 web.py,我正在构建一个网站,通过它们的公共 API 显示来自两个第三方网站的搜索结果。不幸的是,API 发送回结果大约需要 4 秒。如果我在收到第一个 API 的答案后才查询第二个 API,这显然需要我大约 8 秒,这太长了。为了解决这个问题,我想同时向 API 发送请求,并在收到两个 API 的答复后立即继续。
我现在的问题是:如何做到这一点?
我从未使用过并行计算,但我听说过多处理和线程。我真的不知道每个人的区别或优势是什么。我也知道,例如 C++ 能够进行并行计算。因此,也可以选择编写在 C++ 中查询 API 的部分(我是 C++ 的初学者,但我想我会管理)。最后,当然可能有一些我完全忽略的选项。也许 web.py 有一些选项可以做到这一点,或者也许有专门用于做到这一点的 Python 模块?
由于只研究和理解所有这些选项会花费我很多时间,所以我想在这里向你们请教一些技巧。
那么你认为我应该选择哪一个?最重要的是:为什么?欢迎所有提示!
【问题讨论】:
-
您确定需要同时发送吗?听起来更像是您只想能够异步发送它们。另外请考虑适当地更新您的标签,这似乎与 C++ 几乎没有关系,与多处理无关。基本的线程和/或异步将完成工作。
标签: python asynchronous multiprocessing