对多个请求使用线程

2024-04-24 11:16:54 发布

您现在位置:Python中文网/ 问答频道 /正文

为了测试我们的服务器,我们设计了一个测试,用JSON负载发送大量请求,并比较它返回的响应。你知道吗

我目前正在尝试通过使用多线程来优化进程。但是我没有找到解决我所面临问题的方法。你知道吗

我有一个url地址和一堆JSON文件(这些文件包含请求,每个请求文件都有一个“预期响应”JSON来比较响应)。 我想使用多线程来发送所有这些请求,并且仍然能够将我得到的响应与我发送的请求相匹配。你知道吗

有什么想法吗?你知道吗


Tags: 文件方法服务器jsonurl进程地址
2条回答

使用python多处理threadpool在这里可以得到return value可以进行比较。你知道吗

https://docs.python.org/2/library/multiprocessing.htmlhttps://gist.github.com/wrunk/b689be4b59270c32441c

嗯,你有两个选择:

  1. 使用multiprocessing.pool.ThreadPool(python2.7)创建线程池,然后使用它们来调度请求。map_async如果您想发出异步请求
  2. 使用concurrent.futures.ThreadPoolExecutor(python3)与使用ThreadPool池的方式类似,但它用于异步执行可调用项
  3. 您甚至可以选择使用multiprocessing.Pool,但我不确定这是否会给您带来任何好处,因为您将要做的每件事都是I/O绑定的,所以线程应该做得很好
  4. 您可以使用Twistedasyncio发出异步请求,但如果您不习惯异步编程,则可能需要更多的学习。你知道吗

相关问题 更多 >