【发布时间】:2014-08-08 06:34:59
【问题描述】:
我在 Node.js 处理模型中读到该节点只需使用事件循环接受请求并将工作交给执行异步操作的 c++ 工作线程。
我也读到了:
- 节点事件不是单线程的。
- 在节点中,除了您的代码之外,所有东西都并行运行。
- 在节点中,如果您使用 settimeout 函数,那么在那段时间内什么都不会起作用。
我做了一些研究,但无法得出结论。我的问题是:
- 如果节点使用 c++ 工作线程,你怎么能说它是单线程的?
- 除了我们的代码之外,所有东西是如何并行的?
- settimeout 是真的还是假的?
【问题讨论】:
-
Node 中的 JavaScript 执行是单线程的,但 Node 确实使用了多线程(脚本执行只是整个平台的一部分)。其他的保留用于实现异步 API 的本机代码。
标签: javascript multithreading node.js