Python asyncio异步编程简单实现示例
作者:永远是少年啊 时间:2023-09-23 15:27:52
今天继续给大家介绍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/article/details/128622297
标签:Python,asyncio,异步
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Pyramid添加Middleware的方法实例
2022-11-25 18:50:34
不用mod_rewrite直接用php实现伪静态化页面代码
2023-11-01 07:07:45
Python之pymysql的使用小结
2024-01-23 09:43:20
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2021-03-16 16:20:31
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2022-07-31 05:54:21
![](https://img.aspxhome.com/file/2023/3/76033_0s.gif)
Python爬虫开发与项目实战
2022-04-21 03:10:32
![](https://img.aspxhome.com/file/2023/1/113151_0s.png)
python 爬取影视网站下载链接
2022-07-30 00:59:42
![](https://img.aspxhome.com/file/2023/1/102771_0s.png)
sql 语句中的 NULL值
2024-01-14 06:41:16
对python中return与yield的区别详解
2022-10-19 00:47:33
阿里云 CentOS7.4 安装 Python3.6的方法讲解
2022-06-12 23:56:13
python实现微信防撤回神器
2022-03-14 14:22:04
一篇文章彻底搞懂Python切片操作
2021-10-11 18:23:07
![](https://img.aspxhome.com/file/2023/5/101575_0s.jpg)
Python基于list的append和pop方法实现堆栈与队列功能示例
2022-10-20 02:26:26
![](https://img.aspxhome.com/file/2023/4/69014_0s.jpg)
SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
2024-01-22 03:35:05
页面链接方式的统一性
2008-03-24 17:02:00
elementui的el-popover修改样式不生效的解决
2024-05-09 15:22:24
![](https://img.aspxhome.com/file/2023/7/126437_0s.png)
详解MySQL日期 字符串 时间戳互转
2024-01-16 15:27:11
python实现大文本文件分割成多个小文件
2022-02-18 12:36:06
![](https://img.aspxhome.com/file/2023/6/114536_0s.jpg)
百度百科的图片轮播代码
2009-05-06 12:58:00
django实现日志按日期分割
2023-07-20 04:25:21
![](https://img.aspxhome.com/file/2023/5/72885_0s.jpg)