简单介绍
- gevent 基本概念:
调度器: hub
上下文切换管理: switch
主循环: loop
协程: greenlet - gevent 特性:
优点:
高效,实现简单,易维护
缺点:
和go不一样,并不是python原生支持的功能,所以使用起来难免会踩一些坑,但是由于并不是实现方式有问题,所以存在着点弊病并没有什么问题。
开始使用
- 什么情况下可以使用:
足够了解自己服务所使用的io, 写的代码足够规范,否则会出现出了问题都不知道那里有问题。
需要并行化的代码不能阻塞时间过长,否则没有意义。
存在大量的io, 前提是可以变成非阻塞的,否则不能满足条件2。 -
由于发现api的代码满足以上三条,所以开始进行优化:
第一版代码如下: