node.jsexpression式框架是否为每个客户端连接创build一个新的轻量级进程?

假设这个代码是在node.js express应用程序中运行的。 说两个不同的客户请求索引资源。 调用这些客户端ClientA和ClientB。 假设ClientA在ClientB之前请求索引资源。 在这种情况下,控制台将loggingClientA的值1,控制台将loggingClientB的值2。 我的主要问题是:是否每个客户端请求都得到自己的轻量级进程,路由器是这些进程之间的共享代码部分,variables对路由器可见,而不是路由器的一部分是共享堆,当然,每个客户端都有自己的叠加么? 我的子问题是:如果对我的主要问题是,那么在这个例子中,每个这些客户端将不得不排队等待lockingglobal_counter增量之前,正确的?

var global_counter = 0; router.get('/', function (req, res) { global_counter += 1; console.log(global_counter); res.render('index'); }); 

不。 单线程/进程。 并发是通过一个工作队列完成的。 一些将东西join工作队列的方法包括setTimeout()和nexttick()。 看看http://howtonode.org/understanding-process-next-tick

一次只运行一个,所以不需要任何locking。

让你的大脑热身于这个想法需要一段时间。