【说站】python中异步非阻塞如何实现
2024-12-30
12
python中异步非阻塞如何实现
说明
1、当一个异步过程调用发出后,调用者不会立刻得到结果。
实际处理这个调用的部件是在调用发出后,通过状态、通知来通知调用者,或通过回调函数处理这个调用。
2、非阻塞的意思是,不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
实例
from time import time, sleep """ 同步操作 """ def app01(): def fn1(): sleep(3) print("fn1 ...") def fn2(): sleep(2) print("fn2 ...") def fn3(): sleep(5) print("fn3 ...") fn1() fn2() fn3() """ asyncio """ def app02(): import asyncio async def fn1(): await asyncio.sleep(3) print("fn1 ...") async def fn2(): await asyncio.sleep(2) print("fn2 ...") async def fn3(): await asyncio.sleep(5) print("fn3 ...") loop = asyncio.get_event_loop() tasks = [ fn1(), fn2(), fn3() ] loop.run_until_complete(asyncio.wait(tasks)) loop.close() if __name__ == '__main__': startTime = time() # app01() app02() endTime = time() print('花费了', str(endTime - startTime), '秒') # 第一个 10s # 第二个 5s
以上就是python中异步非阻塞的实现,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
更新于:3天前赞一波!
相关文章
- 【说站】python中mock的断言使用
- 【说站】java数组引用如何实现
- 【说站】python读取txt文件
- 【说站】python实例创建销毁的函数整理
- 【说站】python如何在二维图像上进行卷积
- 【说站】python轮盘赌算法如何使用
- 【说站】python三种属性管理魔法函数
- 【说站】python集合魔法函数有哪些
- 【说站】python中高斯模糊是什么
- 【说站】python删除str中特定字符的方法
- 【说站】python两种不同的文件流读写
- 【说站】python如何将实例用作属性
- 【说站】python从键盘输入若干个整数
- 【说站】python可变数据类型和不可变数据类型的区别
- 【说站】python引用计数机制的使用
- 【说站】python实例方法中self的作用
- 【说站】Python解释器有哪几种
- 【说站】python变量中self的添加
- 【说站】python不同大小文件的复制方法
- 【说站】java懒惰评估如何实现
文章评论
评论问答