Asynchronous Tornado和异步请求处理
我的问题分为两部分:Asynchronous Tornado和异步请求处理,asynchronous,webserver,tornado,Asynchronous,Webserver,Tornado,我的问题分为两部分: “异步服务器”通常被人们称为龙卷风,它到底意味着什么?有人能提供一个具体的例子来说明这个概念/定义吗 在龙卷风的情况下,“不阻塞”到底意味着什么?这与上面的异步特性有关吗?另外,我在某个地方读到过,它总是使用一个线程来处理所有请求,这意味着请求是按顺序逐个处理还是并行处理?如果是后一种情况,龙卷风是如何做到的 龙卷风用来解决这个问题。这意味着所有I/O操作都是事件驱动的,也就是说,它们使用回调和事件通知,而不是等待操作返回。Node.js和Nginx使用类似的模型。例外情况
tornado.database
,它正在阻塞。如果您想详细查看,则可以很好地记录。有关具体示例,请参见下文Tornado(与Django相比)的不同之处在于,在第2步和第3步之间,流程可以继续处理其他请求。Tornado IOLoop只是保持连接打开并继续处理其回调队列,而对于Django(和任何同步web框架),线程将挂起,等待数据库返回 这是我对web.py(cherrypy)和tornado性能的测试。
写得好的答案。当您说“事件通知”时,您是指生成的事件,以表示I/O操作已完成,以便调用回调?还有其他类型的活动吗?谢谢是的,我的意思是Tornado通过epoll或kqueue(即边缘驱动的更改通知)收到传入数据的通知。