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和其他应用层协议,这点非常好,开发人员可以直接只用这些协议的实现.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,699评论 6 427
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 9,235评论 1 61
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,962评论 4 418
  • 没有人能打动我 哪怕一字一句 可你只是沉默 便要了我的命啊
    苏苏诺阅读 669评论 0 4
  • 执行力管理培训认为,人的执行力与人的认知、态度、能力息息相关。 认知:对自己对事物的一种认识和理解。体现自己的智能...
    scho阅读 3,746评论 0 0