Asyncio框架理解

一、概述

    Asyncio 是用来编写并发代码的库,使用 async/await 语法。asyncio被用作多个提供高性能 Python异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio往往是构建IO密集型和高层级结构化网络代码的最佳选择。

二、概念梳理

    在理解框架前,准确理解各个概念很重要,这里将官方文档中的介绍加以整理。

  •  协程:通过 async/await 语法进行声明。内部可以灵活控制执行分支,较线程开销更小。
  •  可等待对象如果一个对象可以在 await 语句中使用,那么它就是可等待对象。有三种主要  类型:协程, Task 和 Future涉及IO操作的对象一般是可等待对象,这种对象会适时的释放CPU,以便其他代码有执行机会
  •  Task:任务是被用来设置日程以便并发执行协程。当协程通过 asyncio.create_task() 等函数被打包为一个任务,该协程将自动排入日程准备立即运行。
  •  Future:一种特殊的低层级可等待对象,表示一个异步操作的最终结果。
  •  Queue:被用于多个异步Task对象的运行调度,实现连接池以及发布/订阅。
  •  同步:用于Task对象集,类似线程的同步,主要用于资源访问控制。
  •  事件循环:事件循环是asyncio应用的核心。事件循环会运行异步任务和回调,执行网络IO操作,以及运行子进程。开发者通常应当使用高层级的 asyncio 函数,例如 asyncio.run(),应当很少有必要引用循环对象或调用其方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值