Node.js 节点的事件循环和计算密集型任务问题>;0.8

Node.js 节点的事件循环和计算密集型任务问题>;0.8,node.js,express,event-handling,Node.js,Express,Event Handling,我想做的是在我的进化算法之上添加一个REST服务器。我遵循的基本意思是 app.listen(port) do_compute_intensive_task() 然后 function do_compute_intensive_task() { do_lots_of_stuff(); if (not_finished) { process.nextTick(do_compute_intensive_task()); } else { console.log("W

我想做的是在我的进化算法之上添加一个REST服务器。我遵循的基本意思是

app.listen(port)
do_compute_intensive_task()
然后

function do_compute_intensive_task() {
  do_lots_of_stuff();
  if (not_finished) {
     process.nextTick(do_compute_intensive_task());
  } else {
     console.log("We're done" );
  }
}
已经登记了(我知道,我不应该)。计算密集型部分运行得很好,但REST服务器没有响应,它会暂停连接,直到密集型部分完成。我安装了最后一个节点v0.10.24,但它不工作。以下是
uname-a

Linux penny 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:24:59 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
不过,它可以在另一台具有不同版本节点和较慢处理器的机器上工作:版本为v0.8.18,处理器为i5,并且
uname-a
返回

Linux amy 3.8.0-35-generic #50~precise1-Ubuntu SMP Wed Dec 4 17:25:51 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
现在的问题是:我做错了什么?任何东西某物是虫子吗?这与处理器速度有关吗


更新我已经安装了
nave
(您也应该安装),以检查不同的版本,并且它在0.9版本的某个地方停止工作。它适用于最新版本的0.8(0.8.26),不再适用于最新版本的0.9或最新版本的0.11.10。事实上,它已经得到了回答<代码>进程。nextTick优先处理计算密集型事件。如果希望它们等待io,请使用
setImmediate
。在

中,节点社区投票决定将
process.nextTick()
用于岛外。为了您的阅读乐趣:


为什么?至少有一个合理的替代品。谢谢