首页 > 解决方案 > 如何使用 asyncio 运行更多事件

问题描述

我目前正在学习异步编程并编写了这个程序,它将使用 python 3 asyncio 异步发送请求。运行它时,我的程序并没有那么快,我试图弄清楚如何做得更好。

为了找到正在运行的事件数,我考虑在活动监视器中检查我的内核任务线程数。看来我只运行了 222 个线程,总共占用了 2% 的 CPU。

有没有办法最大化线程数?

我可以通过拥有更简洁的代码来使其更快吗?如下所示,我的代码正在运行,但有点 hacky。

import asyncio
import requests

def main():
        loop = asyncio.get_event_loop()
        for i in enumerate(list):
            f = loop.run_in_executor(make_request())
            if i == end:
                response = yield from f

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

谢谢你。

标签: python-3.xpython-requestspython-asyncio

解决方案


推荐阅读