【说站】python中异步非阻塞如何实现
2023-06-13 09:13:22 时间
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开发者必知的13个Python GUI库
- python删除首行_Python删除文件第一行
- python监控网站更新_Python 通过网站search功能监控网站内容更新[通俗易懂]
- Python下载小说 -XXOO[通俗易懂]
- 手机python 3.8解释器_Python 3.8 解释器安装教程
- Python实现自动回复_python 微信机器人
- python制作自动交易程序_Python如何实现自动化交易
- python程序化交易实例-用 Python 实现你的量化交易策略「建议收藏」
- 数据结构与算法Python_数据结构与算法python语言实现
- pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法
- Python分布式任务队列Celery,Django中如何实现异步任务和定时任务
- 软件测试|Python中日志异步发送到远程服务器
- Python 异步: 等待有时间限制的协程(12)
- python-Django 高级特性-Django 异步任务(二)
- python通过datetime模块计算各种时间间隔详解编程语言
- 开发Linux下Python编程:实现自己的开发梦想(linux下python)
- Python操作Redis实现数据持久化(python操作redis)
- Python脚本实现Linux系统管理及自动化部署(python写linux)
- python驱动使用pip安装MySQL Python驱动的简单步骤(pip安装mysql)
- 革命性技术:Python与MSSQL的携手合作(python和mssql)
- Python实现MySQL数据库的读取(python读取mysql)
- Python爬取MySQL数据,助力数据分析(python读取mysql数据)
- Python脚本实现Linux命令快捷控制(python执行linux命令)
- python实现异步回调机制代码分享