首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node JS异步requestHandler (用于路由)

Node JS异步requestHandler (用于路由)
EN

Stack Overflow用户
提问于 2012-07-06 09:27:49
回答 1查看 278关注 0票数 0

我正在使用The Node Beginners book,并对节点js请求处理的“同步方式”产生了怀疑。好吧,我的意思是假设我的网站有2个页面开始和上传(根据教程),我对这2个页面进行并发请求,然后请求被串行处理(就像第一个开始将被获取,然后上传将被获取)。如果我的网站每秒收到100个请求(而我只运行一个节点进程),所有这些请求都将被串行处理。所以这对路由器来说不是很有意义吗

调用setTimeOut中的所有响应(类似于setTimeOut( requestHandlers (Response),0) )?这样,路由器的任务将仅限于调用处理程序并转移到等待的下一个请求。当然,根据页面的大小和操作的不同,加载页面需要一定的时间,但至少这些时间被用来做重要的工作,而不是仅仅等待其他页面。

另外,我知道node只运行一个进程。但是它确实运行多个线程,不是吗?

EN

回答 1

Stack Overflow用户

发布于 2012-07-06 10:05:02

为了回答您的最后一个问题,您用JavaScript为节点程序编写的所有代码都运行在一个线程中;异步I/O任务由libuv抽象出来。

我认为您没有以足够细粒度的方式考虑您的两个请求;您说,

将获取

首先启动,然后获取上载

但是,在现实中,web请求和响应是由各种IO任务组成的,而不仅仅是您在JavaScript程序中进行的处理。例如,当数据通过"start“处理程序的套接字传输时,数据也可以流入”上传“处理程序的程序中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11354730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档