Python 实现每秒5并发,持续10秒
时间: 2023-12-10 09:38:53 浏览: 215
Python使用grequests(gevent+requests)并发发送请求过程解析
你可以使用 Python 的 asyncio 库来实现每秒5个并发请求,持续10秒。下面是一个简单的示例代码:
```python
import asyncio
async def make_request():
# 这里是你要执行的请求代码
# 例如使用 requests 库发送 HTTP 请求等
async def run_requests():
tasks = [asyncio.create_task(make_request()) for _ in range(5)]
await asyncio.gather(*tasks)
async def main():
for i in range(10):
await run_requests()
await asyncio.sleep(1)
if __name__ == '__main__':
asyncio.run(main())
```
在这个示例代码中,我们定义了三个异步函数:
- `make_request()`:用于执行单个请求的代码。
- `run_requests()`:用于同时执行5个请求的代码。
- `main()`:用于循环10次每秒执行5个请求的代码。
在主函数中,我们使用 `asyncio.create_task()` 函数创建了5个任务,并使用 `asyncio.gather()` 函数等待这些任务完成。然后我们使用 `asyncio.sleep()` 函数等待1秒钟,然后再次执行5个请求,如此重复10次。这样就能够达到每秒5个并发请求,持续10秒的效果。
阅读全文