Python使用async/await极简例子
2021-03-26 本文已影响0人
赤色要塞满了
很多协程教程都用asyncio.sleep()
来模拟耗时的IO操作,但是却没说真实的应用怎么写。
import asyncio
import time
# 一个真实的耗时操作,可以比如去爬取网页
def mysleep(x):
time.sleep(x)
async def mytask(task_name):
print(task_name, 'start')
# r = asyncio.sleep(1) # 好多教程的做法
r = await asyncio.get_event_loop().run_in_executor(None, mysleep, 3)
print(task_name, 'end')
loop = asyncio.get_event_loop()
tasks = [mytask('task1'), mytask('task2')]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
运行结果很简单:
task1 start
task2 start
task1 end
task2 end
还有什么ensure_future
,create_task
,可自行研究。