首页IT科技python怎么封装成app(python中Task封装协程)

python怎么封装成app(python中Task封装协程)

时间2025-06-12 17:24:09分类IT科技浏览4604
导读:说明...

说明

1           、Task是Future的子类           ,Task是对协程的封装                  ,我们把多个Task放在循环调度列表中      ,等待调度执行           。

2                  、Task对象可以跟踪任务和状态                  。Future(Task是Futrue的子类)为我们提供了异步编程中最终结果的处理(Task类还具有状态处理功能)      。

3      、把协程封装成Task        ,加入一个队列等待调用        。刚创建Task的时候不执行                 ,遇到await就执行                 。

实例

importasyncio asyncdeffunc(): print(1) awaitasyncio.sleep(2) print(2) return"返回值" asyncdefmain(): print("main开始") #创建协程         ,将协程封装到Task对象中并添加到事件循环的任务列表中      ,等待事件循环去执行(默认是就绪状态)         。 #在调用 task_list=[ asyncio.create_task(func(),name="n1"), asyncio.create_task(func(),name="n2") ] print("main结束") #当执行某协程遇到IO操作时                 ,会自动化切换执行其他任务      。 #此处的await是等待所有协程执行完毕            ,并将所有协程的返回值保存到done #如果设置了timeout值   ,则意味着此处最多等待的秒                 ,完成的协程返回值写入到done中               ,未完成则写到pending中                 。 done,pending=awaitasyncio.wait(task_list,timeout=None) print(done,pending) asyncio.run(main())

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
网站排名推广优化平台(网站优化seo推广教程上排名) 香港直播卖货平台(直播用香港服务器或者韩国,怎么选择最适合的直播服务器)