先看一下 Tornado 的 ioloop.py
import select
# Choose a poll implementation. Use epoll if it is available, fall back to
# select() for non-Linux platforms
if hasattr(select, "epoll"):
# Python 2.6+ on Linux
_poll = select.epoll
elif hasattr(select, "kqueue"):
# Python 2.6+ on BSD or Mac
_poll = _KQueue
else:
try:
# Linux systems with our C module installed
import epoll
_poll = _EPoll
except:
# All other systems
import sys
if "linux" in sys.platform:
logging.warning("epoll module not found; using select()")
_poll = _Select
可以看到,在 Mac 下,使用的是 kqueue.
什么是 kqueue 呢?
kqueue 是 FreeBSD 上的一种的多路复用机制。它是针对传统的 select/poll 处理大量的文件描述符性能较低效而开发出来的。注册一批描述符到 kqueue 以后,当其中的描述符状态发生变化时,kqueue 将一次性通知应用程序哪些描述符可读、可写或出错了。
kqueue 支持多种类型的文件描述符,包括 socket、信号、定时器、AIO、VNODE、PIPE。
详细介绍可以 Google 一下 “Kqueue: A generic and scalable event notification facility” (Kqueue: 一种通用且可扩展的事件通知机制) 这个 PDF 文档。
参考列表:
1。使用 kqueue 在 FreeBSD 上开发高性能应用服务器
http://www.ibm.com/developerworks/cn/aix/library/1105_huangrg_kqueue/
分享到:
相关推荐
开源web服务器源代码,tornado是一款纯java开发的。
tornado-1.2.0的源码文件,从torando的低版本研究源码比较容易代码比较简洁
tornado作为用户产品后台服务器核心框架 redis 保存session数据、短时间房源信息、地域信息等,保存页面缓存数据,提高服务器响应速度 采用前后端完全分离架构,采用ajax异步调用、json数据传输,使后端接口可以...
Python高效开发实战+Django+Tornado+Flask+Twisted源代码 Python高效开发实战+Django+Tornado+Flask+Twisted源代码 Python高效开发实战+Django+Tornado+Flask+Twisted源代码
基于python的+tornado框架实现的一个项目管理系统源码.zip 基于python的+tornado框架实现的一个项目管理系统源码.zip 基于python的+tornado框架实现的一个项目管理系统源码.zip
python+tornado开发的实例源码,需要环境简单,整个项目结构完整,是学习者的好选择
Python高效开发实战——Django、Tornado、Flask、Twisted 本书源代码 Python高效开发 实战 也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究...
tornado实战之一,对tornado有个初步的认识和一些基本的操作。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:...得利于其 非阻塞的方式和对 epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。
Tornado和VxWorks学习笔记, 包括Tornado和VxWorks的一些基础知识, 实际应用
tornado作为web框架和异步网络库,代码量过多,因此在分析tornado源码时,可以选择一些比较重要的模块来阅读,方式:current.py,gen.py,tcpserver.py,httpserver.py,ioloop .py,iostream.py,web.py等 ...
得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 ...
Python高效开发实战——Django、Tornado、Flask、Twisted 的随书完整源代码
Tornado全称Tornado Web Server,是一个用Python语 言写成的Web服 务器兼Web应用框架,由FriendFeed公 司 在自己的网站FriendFeed中使用,被Facebook收购 以后框架在2009年9月以开源软件形式开放给大众。 特点: 作为...
分别介绍了Tornado开发工具、VxWorks驱动程序开发、VxWorks BSP应用开发,是一套很有意义的实用教材,上面有重点地讲述了上述几方面的内容,较之用户文档更为细致,同时还有一些源代码可供参考,是本站推荐的文章之...
dddd 博文链接:https://kenby.iteye.com/blog/1159621
千锋教育 python基础教程,tornado网课笔记(思维导图)
Tornado环境的搭建;Tornado的使用,附有PDF说明文档及源代码。
该源代码对应本人博文《zk-SNARKs实战:使用circom和snarkjs实现简单版的Tornado(含源码)》,如要看该文章,可直接在百度中根据题目搜索
tornado 2.2.2 vxworks 5.5.2的内核源码,对嵌入式开放人员有一定参考价值