Pythonasyncio异步编程简单实现示例

今天继续给大家介绍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以上的版本中使用。

关于Python asyncio异步编程简单实现示例的文章就介绍至此,更多相关Python asyncio异步编程内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 一、背景1.1、前言当我们写好代码并测试功能符合要求时,有可能每天都要执行这个程序(比如我写了一个爬虫脚本,每天定时运行获取我想看的小说更新内容),那么每次执行程序都要打开 ...