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

我新的Node.js,我很抱歉,似乎是一个noob问题,但我真的感觉更好,你的意见。

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

我也明白,由于这个单线程的本质,Node.js不太适合CPU密集的任务,这将阻止事件循环。

我的问题很简单:我正在处理一个websocket应用程序,并且在大部分请求中,我必须执行一些计算循环。 根据我的testing,这个循环可能需要30到80毫秒才能完成。 我应该认为这是一个CPU密集型任务? (如果是的话,我想我应该试着把它委托给一个subprocess,或者用process.nextTick把这个计算分成几部分)。

这真的取决于你正在寻找什么样的QOS。 我会说,对于个人projet这是好的。 如果你使用websockets作为游戏例如这可能是杀手。

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