1

我在读到 V8 不是多线程的,也不能是设计使然。

这是真的?真的是我可以优化脚本以同时运行(在 node.js 上)但并发性不能扩展到多个处理器吗?我有点认为这是并发设计的主要原因。

4

4 回答 4

3

对于 Node v0.8 及更高版本,https://github.com/audreyt/node-webworker-threads模块现在提供相同的 Web Worker API,使用旨在多核调度的本机线程实现,具有较低的序列化和工作线程创建与基于进程的节点工作模块相比的开销。

于 2012-11-22T00:02:18.200 回答
1

至于 node.js,它不是并发的,而是异步的。有一个线程和一个事件循环来处理 node.js 中的所有 IO。

node.js 中有一些并发工具,主要围绕多个进程。但与所有 node.js 一样,它们处于开发的早期阶段。例如,您可以使用fugue管理多个工作进程,或者您可以使用可能熟悉的Web Workers API 使用node-worker

于 2010-11-05T08:15:34.997 回答
0

请参阅限制执行时间。这是可能的,但我不确定它有多大可能像 Java 一样简单。

于 2010-10-29T02:43:22.590 回答
0

从 v0.6 开始,您可以使用集群工具

独立节点进程之间的通信会产生一些开销,因此,v8隔离的支持被考虑了一段时间,但最终由于改进不足与复杂性权衡而没有追求。

(v8 隔离将允许使用线程而不是进程,从而实现更有效的通信。)

于 2012-02-09T17:18:01.563 回答