Node.js中的CPU密集型任务是什么?

时间:2012-08-08 06:27:49

标签: node.js

我是Node.js的新手,我很抱歉看起来像一个菜鸟问题,但我的建议真的会让我感觉更好。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

相关问题