Python asyncio异步编程简单实现示例
作者:永远是少年啊 发布时间:2023-09-23 15:27:52
标签:Python,asyncio,异步
今天继续给大家介绍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


猜你喜欢
- 常见的误解有: 1. 只用 ado.net ,无法进行动态 SQL 拼接。 2. 有几个动态参数,代码的重复量就成了这些参数的不同数量的组合
- 导语我第一次玩24点是初中的时候,那时候和堂弟表哥在堂妹家玩,堂妹提出玩24点游戏,堂妹比我们小三岁,可能正在上小学吧。拿出一副扑克牌去掉大
- PyCharm 具备一般 IDE 的功能,比如,调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制…另外,PyCha
- 1、安装pymysql库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip
- 目录process模块1、在python中启动一个子进程2、给子进程传递参数3、同时开多个子进程4、join的用法5、多进程之间的数据是否隔
- 在新的公司开始上班,今天工作的主题内容是市场部门需要抓取一些论坛用户的邮箱,以便发送营销邮件。于是用了一个python脚本来执行,前面抓了几
- 效果图:代码如下:<!DOCTYPE html><html lang="en"><head
- 本文为大家分享了Python2.7与Python3.6环境切换的具体方法,供大家参考,具体内容如下系统支持为:Ubuntu18.04系统默认
- 一天不小心把ROOT的权限改到最小了(只能登录,什么都做不了),这可急死我了.重装的话太麻烦,而且里面有很多的用户,一个个重新弄不知道到什么
- 目录wtforms使用1(简单版):使用2(复杂版):wtforms安装:pip3 install wtforms使用1(简单版):from
- 树,因其清晰明了的展现形式而被广泛的使用日常的开发过程中我们需要经常与“树”打交道,例如公司的组织架构树、服务器的项目归属树,管理后台侧边树
- 一.Jupyter介绍Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言。Jupyter Notebook 的本质
- 在做一个在线交流的网站时,有个问题很令我头疼,就是关于实时统计在线用户的问题,客户要求:统计当前在线人数、游客人数、会员人数、在线用户列表,
- 本文实例为大家分享了ADO.NET通用数据库访问类,供大家参考学习,具体内容如下using System;using System.Coll
- 前言:线程安全问题:当2个线程同时用到线程池时,会同时创建2个线程池。如果多个线程,错开用到线程池,就只会创建一个线程池,会共用一个线程池。
- 在网上down了个web项目,在 IntelliJ IDEA 这个编辑器里面跑起来,但是发现domain文件夹下的xml文件都报如下的红色提
- 楔子在 Python3.6 之前,格式化字符串一般会使用百分号占位符或者 format 函数,举个例子:name = &
- 1. vscode相关配置w3c school 手册: https://www.w3school.com.cn/html/inde
- 前言随着Python 3.8的发布,赋值表达式运算符(也称为海象运算符)也发布了。运算符使值的赋值可以传递到表达式中。这通常会使语句数减少一
- 网页版面布局的方法及技巧,版面指的是浏览器看到的完整的一个页面(可以包含框架和层)。因为每个人的显示器分辨率不同,所以同一个页面的大小可能出