Tornado 是“一个用 Python 编写的相对简单、非阻塞的 Web 服务器框架”——可以解释一下这意味着什么吗?
这可能是一个愚蠢的问题,但是“非阻塞 Web 服务器”到底是什么?所有网络服务器在技术上都是非阻塞的,不是吗?否则他们如何处理同时连接? Apache2 使用 fork() 和 pthread 的组合来实现这一点。 Tornado(以及 Twisted)究竟有何不同?他们是否只是将一堆套接字设置为非阻塞模式,构建一个 FD 列表(或等效列表),然后使用一个大的 select() 系统调用循环它?
您会在哪里使用这样的框架?与 Apache2(或其他流行的服务器)相比,它们能给您带来哪些优势?谢谢
This is probably a stupid question, but what exactly is a "non-blocking web server"? All web servers are technically non-blocking, arent they? otherwise how could they handle simultaneous connections? Apache2 achieves this using a combination of fork() and pthreads. How exactly are Tornado (and Twisted also) different? Do they just set a bunch of sockets to non-bocking mode, build an FD list (or equivalent), and then loop over that with one big select() sys call?
Where would you use a framework like these, and what advantages can they give you over Apache2 (or other popular servers)? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这篇关于 EventMachine 的文章也可能给出给你一个提示:
This article on EventMachine may also give you a hint: