知行编程网知行编程网  2023-01-12 03:30 知行编程网 隐藏边栏  11 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python Task如何在协程调用的相关知识,包括python scrapy,以及python协程池这些编程知识,希望对大家有参考作用。

python Task在协程中是如何调用的


说明

1、Tasks用于并发调度协程,通过asyncio.create_task(协程对象)创建Task对象。

2、使协程能够加入事件循环,等待调度执行。

你可以使用低级 loop.create_task() 或 ensure_future() 函数,而不是使用 asyncio.create_task() 函数。建议使用手动实例 Task 对象。


使用注意

Python3.7中

添加到

asyncio.create_task函数。在Python3.7之前,可以使用低级asyncio.ensure_future函数。


实例

import asyncio
 
 
async def func():
    print(1)
    await asyncio.sleep(2)
    print(2)
    return "返回值"
 
 
async def main():
    print("main开始")
    # 创建协程,将协程封装到一个Task对象中并立即添加到事件循环的任务列表中,等待事件循环去执行(默认是就绪状态)。
    task1 = asyncio.create_task(func())
    # 创建协程,将协程封装到一个Task对象中并立即添加到事件循环的任务列表中,等待事件循环去执行(默认是就绪状态)。
    task2 = asyncio.create_task(func())
    print("main结束")
    # 当执行某协程遇到IO操作时,会自动化切换执行其他任务。
    # 此处的await是等待相对应的协程全都执行完毕并获取结果
    ret1 = await task1
    ret2 = await task2
    print(ret1, ret2)
    
    
asyncio.run(main())


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享