import time
import asyncio # python用来实现异步的
# 使用async关键字可以将一个函数定义成协成,python3.7定义成的关键字
# 协程在使用的时候,必须要在前面加上await关键字
# await关键字,只有在async函数中才能使用
# 如果想运行协程,那么必须要放到asyncio事件循环中运行
# 协程默认情况下是按照从上往下的方式运行的,wait的时候会进行等待
# 想要实现并发操作,那么需要将协程变成任务的方式执行
async def func(word):
# time.sleep(1) # 协程中不能使用这种方式,否则协程不生效
# asyncio.sleep(1) # 不会立即执行这个函数,而是返回一个协成对象
# await asyncio.sleep(1)
print("你好, %s" % word)
async def main():
start_time = time.time()
# await func("世界")
# await func("中国")
# 用任务的方式,就能够达成并发执行的功能
task1 = asyncio.create_task(func("中国"))
task2 = asyncio.create_task(func("世界"))
await task1
await task2
end_time = time.time()
print("执行时间:%s" % (end_time - start_time))
if __name__ == '__main__':
# python3.7执行
# loop = asyncio.get_event_loop()
# loop.run_until_complete(main())
# python3.8执行
asyncio.run(main())
``
FastAPI学习—协程—day01
最新推荐文章于 2024-05-17 14:58:43 发布