Node.js是单线程的还是不是?
我已经读过Node.js处理模型,该节点只是使用事件循环接受请求,并将工作交给正在执行asynchronous操作的c ++工作线程。
我还读到:
- 节点不是单线程的。
- 在节点中,除了代码之外,所有的东西都是平行的
- 在节点中,如果你使用settimeout函数,那么在这个时候什么都不会起作用。
我已经做了一些研究,但不能得出结论。 我的问题是:
- 如果节点使用c ++工作线程,你怎么能说它是单线程?
- 除了我们的代码,一切都是平行的?
- settimeout事情是否真实?
Node.js裸体在单个线程上的单个进程上运行。
但是有一个webworker扩展允许运行多个线程:
https://www.npmjs.org/package/webworker-threads
为了产生多个进程,请检查群集模块
(在这里看到一个很好的更新教程: http : //blog.carbonfive.com/2014/02/28/taking-advantage-of-multi-processor-environments-in-node-js/ )
还有关于该主题的最新更新的答案:
什么是Node.js?
- 强制x客户端等待node.js中客户端y的callback的最佳实践
- 比较两个对象并删除之间的重复键
- 当创build一个新的文档时,只能调用Mongoose Setter?
- RangeError:在debugging/logging/检查Node.js中的对象时超出最大调用堆栈大小
- 节点asynchronous不运行asynchronous
- 在用户发送GET请求时,如何才能等待数据,直到它从TCP服务器的Node.js中接收到?
- babel,带有nodemon脚本的webpack?
- 在MongoDB的本地NodeJS驱动程序中,何时使用MongoClient构造函数以及何时使用Db构造函数?
- Webpack Express无法parsing模块“fs”,请求依赖性是expression式