tornado gevent mysql_Python中的twisted,tornado,gevent分析?

Python中的twisted,tornado,gevent?

gevent

Python的并发框架

代码看起来好看一些,但是维护比较差,patch没有规律,而且里面封装了C,对python3的支持最差.

twisted

Python的事件驱动,异步执行任务的网络框架框架

稳定性是最好的,但是需要较长时间的学习.对python3的支持较差.

tornado

Python的web开发框架

兼容性最好.但是过于简单了,功能不强,另外没有python数据库适配器能和tornado无缝对接,因此调用数据库很麻烦,而且只支持web.

tornado见解

tornado虽然是一个异步框架,但是也仅仅是框架而已,他只是实现了get或者post方法相对于返回消息的异步处理,但是毕竟是单进程单线程的,通过一个事件队列来对所有经过了自己事件化的事物做的分片处理,遇到执行一个没有异步化的命令,比如有IO操作的命令(或者耗时的命令),自然框架就无能为力了,虽然他自己实现了一些异步的工具,比如AsyncHttpClient,但是还是太少了,比如访问数据库的网络IO,等待数据库返回数据,向redis请求数据等等,绝大部分关键的操作其实都是包含了blocking的IO操作的.

gevent见解

gevent可以说实现的比较彻底,他把所有的sockt,disk 的IO操作都做了协程化处理,所以结合结合到tornado的异步化框架,效果肯定要好不少,特别是那种处理过程中涉及到IO操作频繁的场景,更为明显.

twisted见解

他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,这点非常好,开发人员可以直接只用这些协议的实现.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值