python-3.x - 如何使用 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())
谢谢你。
解决方案
推荐阅读
- web - Google Analytics - 识别新网页
- javascript - Selenium 和 onDragEnter
- excel - 将更多工作表(变量)从工作簿移动到另一个工作簿
- java - 比较器 java 8 中的 thenComparing 错误
- selenium-chromedriver - 如何点击一个值?
- node.js - 由于套接字挂断,Newman 执行在中间停止
- bash - sh 文件中的语法错误,但命令在 bash 上工作
- c++ - 如何在 MFC 中的静态控件中间水平对齐文本
- javascript - 光标指针更改悬停在chartjsv3中不起作用
- c++ - QHttpMultiPart 不发送任何数据包