asyncio异步编程中Task对象是什么
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下asyncio异步编程中Task对象是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.Task对象
千家信息网最后更新 2025年11月08日asyncio异步编程中Task对象是什么
小编给大家分享一下asyncio异步编程中Task对象是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.Task对象的作用
可以将多个任务添加到事件循环当中,达到多任务并发的效果
2.如何创建task对象
asyncio.create_task(协程对象)
注意:create_task只有在python3.7及以后的版本中才可以使用,就像asyncio.run()一样,
在3.7以前可以使用asyncio.ensure_future()方式创建task对象
3.示例一(目前不推荐这种写法)
async def func(): print(1) await asyncio.sleep(2) print(2) return "test"async def main(): print("main start") # python 3.7及以上版本的写法 # task1 = asyncio.create_task(func()) # task2 = asyncio.create_task(func()) # python3.7以前的写法 task1 = asyncio.ensure_future(func()) task2 = asyncio.ensure_future(func()) print("main end") ret1 = await task1 ret2 = await task2 print(ret1, ret2)# python3.7以后的写法# asyncio.run(main())# python3.7以前的写法loop = asyncio.get_event_loop()loop.run_until_complete(main())"""在创建task的时候,就将创建好的task添加到了时间循环当中,所以说必须得有时间循环,才可以创建task,否则会报错"""4.示例2
async def func1(): print(1111) await asyncio.sleep(2) print(2222) return "test"async def main1(): print("main start") tasks = [ asyncio.ensure_future(func1()), asyncio.ensure_future(func1()) ] print("main end") # 执行成功后结果在done中, wait中可以加第二个参数timeout,如果在超时时间内没有完成,那么pending就是未执行完的东西 done, pending = await asyncio.wait(tasks, timeout=1) print(done) #print(pending)# python3.7以前的写法loop = asyncio.get_event_loop()loop.run_until_complete(main1())5.示例3(算是以上示例2的简化版)
"""方式二的简化版,就是tasks中不直接添加task,而是先将协程对象加入到list中,在最后运行中添加"""async def func2(): print(1111) await asyncio.sleep(2) print(2222) return "test"tasks = [ func2(), func2()]# python3.7以前的写法loop = asyncio.get_event_loop()done, pending = loop.run_until_complete(asyncio.wait(tasks))print(done)print(pending)
以上是"asyncio异步编程中Task对象是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
对象
写法
示例
时间
篇文章
循环
编程
任务
内容
就是
方式
版本
成功
不怎么
东西
事件
作用
参数
只有
多个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
WEB服务器监控V2.1
机房网络安全设备检查
数据库博文存储
数据库实验sql2005
二叉树数据库怎么存放
数据库的创建和修改
锋动科技软件开发工程师
上海最牛软件开发公司
软件开发需要掌握知识
发送邮件服务器破解版
国内贸易软件开发公司
查重之后会进数据库吗
情报数据库管理
杨浦区咨询软件开发销售方法
软件开发环境的主要目的
无法执行自动验证数据库
计算机网络技术实训软件
四年级小学生网络安全手抄报
龙华周边软件开发招聘信息
香港服务器防攻击
软件开发阶段评审报告
云服务器 哪家好
东莞卫星软件开发代理价格
java软件开发工程师证书
聚焦互联网科技股
山西程序软件开发推荐
端游幻塔看不到服务器
服务器告警声mp3
桂林淘宝客软件开发
网络技术的自觉选择性