我将开始着眼于使用asyncio转换代码。我找不到我理解的示例或解释。我想知道是否有人可以将这个简单的代码转换为使用asyncio而不是并发的期货?这是一些旧代码,可以帮助我理解线程如何帮助加快速度。
import time
from concurrent import futures
def run(data):
time.sleep(.5)
print("Hello World")
return
data = range(20)
max_workers = 10
concurrent = futures.ThreadPoolExecutor(max_workers)
with concurrent as ex:
ex.map(run, data)
答案 0 :(得分:1)
您在这里:
import asyncio
async def run(data):
await asyncio.sleep(0.5)
print("Hello World")
async def main():
await asyncio.gather(*[
run(i)
for i
in range(20)
])
asyncio.run(main())
您可能有兴趣阅读this article,以更好地了解asyncio的工作原理。