第二十七章 异步编程总结

关于协程内容的总结

  1. 什么是协程对象
    协程函数加()会得到协程对象

  2. 协程对象能直接运行么?

    async def func():
        pass
    func()
    

    不可以 -> 控制台返回的是一个协程对象的地址

  3. 如何运行协程对象
    需要创建一个事件循环并将协程函数对象放入到事件循环中执行

  4. 如何创建事件循环
    在python3.7以上版本使用asyncio.run()创建事件循环

  5. await 关键字
    await关键字后面只能接可等待的对象 [协程对象 task对象以及future对象]
    await遇到IO等待时, 如果在事件循环中存在可以执行的任务则自动切换, 否则直到await获取到任务的返回值之后才会解除堵塞

  6. task对象
    如果在事件循环中放入了协程对象则在程序内部会自动创建task对象来实现并发任务执行
    可以选择在函数内部手动创建task对象 -> asyncio.create_task(协程对象)
    注意:创建task对象之前需要保证事件循环先要被创建, 原因是task对象会自动将协程对象放入到事件循环中, 如果事件循环不存在则报错

posted @ 2022-10-26 15:33  adqwe  阅读(9)  评论(0编辑  收藏  举报