Web services Nodejs的回调机制

Web services Nodejs的回调机制,web-services,apache,node.js,Web Services,Apache,Node.js,据说Nodejs只使用一个进程来处理请求,然后那些使用I/O的函数将异步执行,这将提高web服务器的效率。但是,那些处理I/O的进程不算数?与传统的web服务器(如Apache)相比,它使用多线程处理请求,每个请求都在一个线程中,成本(请求+I/O)是否降低了?是的,node.js只需要一个线程(这比需要一个进程更严格,具体取决于操作系统)。是的,这确实会影响您的编程需求: --你的程序绝对不能被阻塞 关于node.js速度如此之快的原因,您可以参考很多资源,例如: node.js节省了其他

据说Nodejs只使用一个进程来处理请求,然后那些使用I/O的函数将异步执行,这将提高web服务器的效率。但是,那些处理I/O的进程不算数?与传统的web服务器(如Apache)相比,它使用多线程处理请求,每个请求都在一个线程中,成本(请求+I/O)是否降低了?

是的,node.js只需要一个线程(这比需要一个进程更严格,具体取决于操作系统)。是的,这确实会影响您的编程需求:

--你的程序绝对不能被阻塞

关于node.js速度如此之快的原因,您可以参考很多资源,例如:

node.js节省了其他服务器所需的上下文切换造成的线程惩罚(请参阅Slebetman)。我们在C++中建立了自己的这种服务器,因为性能要求高,当服务器必须打开和关闭很多连接时,这种方法确实节省了大量资源。 我认为您的问题中缺少的是node.js将那些需要很长时间才能到达O/S的操作交给了node.js,并且会返回答案。O/S是完全多进程的。因此node.js只需要一个线程来控制,但I/O由O/S进程控制


然而,node.js可以产生额外的进程,您可以在其中运行并行程序。

这不是一个真正的编程问题。您是认真的吗?如果你不知道某些语言的内部机制,你怎么能很好地编程呢?可能的重复并不完全正确。请看我以前对这个问题的回答:现在让答案更精确。嗯。我已经+1'ed你的其他职位,谢谢。