• 技术文章 >Python技术 >Python基础教程

    python Task如何在协程调用

    小妮浅浅小妮浅浅2021-08-09 10:02:47原创2512

    说明

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

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

    除使用asyncio.create_task()函数外,还可使用低级loop.create_task()或ensure_future()函数。推荐使用手动实例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())

    以上就是python Task在协程的调用,希望对大家有所帮助。更多Python学习指路:python基础教程

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

    专题推荐:python task
    上一篇:await在python协程函数的使用 下一篇:python统计字符串字符出现次数

    相关文章推荐

    • python九宫格图片的原理• python opencv如何旋转图片• python用内置函数进行判断• python help()获取函数信息• python sorted()函数的参数用法• python range()函数指定数值• python参数默认值如何使用• python静态方法如何定义• python特殊方法有哪些• python类的继承如何定义?• python类的继承链分析• python常见过滤器的整理• python使用jinja2进行渲染• python事件循环如何使用?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网