今天继续给大家介绍Python相关知识,本文主要内容是Python asyncio异步编程简单实现。
一、asyncio事件循环简介
asyncio引入了事件循环的概念。事件循环是一个死循环,还循环会检测并执行某些代码。在Python中,引入了asyncio模块后,执行命令:
loop=asyncio.get_event_loop()
可以生成一个事件循环,而执行命令:
loop.run_until_complete(TASK)
则可以将一个任务TASK放入该事件循环的任务列表,并使得事件循环开始运行。当事件循环中的所有事件执行完毕后,事件循环会退出。
二、async协程函数简介
在Python3.5以后,引入了async关键字,使用async关键字修饰的函数,即为协程函数。例如:
async def fun():
pass
协程函数在调用后,不会立即执行,而是会返回一个协程对象。协程对象结合事件循环,即可执行。
三、await关键字
await关键字是Python3.5以后和async关键字一起引入的关键字。该关键字后面可以跟协程对象、Future对象以及Task对象。
四、async异步编程简单实现
下面,我们就根据上述理论,简单实现有一个async异步函数,代码如下所示:
import asyncio
async def fun():
print("start")
await asyncio.sleep(2)
print("end")
asyncio.run(fun())
上述代码执行结果如下所示:
注意,在上述代码中,我们使用了asyncio.run()函数,该函数可以快速执行协程函数,但是这个函数只可以在Python3.7以上的版本中使用。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200