1

我是 Node.js 的新手,对于这个看起来像菜鸟的问题我感到很抱歉,但如果你的建议让我感觉更好。

我想我掌握了 Node.js 的大部分基础知识。我知道它是单线程的,因此所有 I/O 作业都是异步的,以免阻塞事件循环。

我也明白,由于这种单线程特性,Node.js 不太适合会阻塞事件循环的 CPU 密集型任务。

我的问题很简单:我正在开发一个 websocket 应用程序,并且对于大多数请求,我必须执行一个带有一些计算的循环。根据我的测试,这个循环可能需要 30 到 80 毫秒才能完成。我应该将其视为 CPU 密集型任务吗?(如果是,我想我应该尝试将其委​​托给子进程或使用 process.nextTick 将计算分成几个部分)。

4

1 回答 1

1

这实际上取决于您正在寻找什么样的 QOS。我会说对于个人项目来说这很好。例如,如果您将 websockets 用于游戏,这可能是杀手锏。

模块集群可以用来解决这个问题。这是更多的工作,但该模块使获取进程集群和它们之间的通信尽可能容易。

于 2012-08-08T06:39:17.453 回答