节点JS处理器架构
我试图获取有关节点JS架构的解决我的问题。
我知道JS节点是单线程的工作在事件循环和非阻塞机制。
但我的问题是如何它背后的处理器作品它同步工作和优先?或者它可以在多个请求同时单核机器上。
试图通过创建两个API的在第一个API来验证这一点我创建了一个while循环,而在第二个API,我创建的Hello World的响应。
然后我试图打两个API的第1和第2次,然后但第二API是等待第一个结束所以这里的处理器不工作的第二API,直到第一端。
所以,我可以说,节点JS的处理器将同步顺序而不是并行工作?
因此,所有的请求都将在队列中等待先前请求完成?
回答如下:从我的角度来看,事情是,这个问题的答案并非如此简单。
1)如果我们是在谈论ExpressJS然后是它的工作原理同步
2)但是,让我们说,我们正在谈论的NodeJS内置处决,喜欢的HTTP模块它可以异步拨打电话(但它取决于哪个是的NodeJS运行OS)。
在不同的NodeJS模块的行为不同从同步到异步的。 V8的NodeJS基于VUlibs这实际上是基于C ++库和这些库大多使用的线程机制。就像密码模块最多可以在一定程度上异步运行的执行。