您可以制作本机 C 程序,并让节点执行二进制文件,并在完成时回调。我认为有几种方法,这是从nodejitsuchild_process.exec(command, [options], callback)
复制的示例:
var childProcess = require('child_process'),
ls;
ls = childProcess.exec('ls -l', function (error, stdout, stderr) {
if (error) {
console.log(error.stack);
console.log('Error code: '+error.code);
console.log('Signal received: '+error.signal);
}
console.log('Child Process STDOUT: '+stdout);
console.log('Child Process STDERR: '+stderr);
});
ls.on('exit', function (code) {
console.log('Child process exited with exit code '+code);
});
编辑
如果您需要在启动后将输入传递给您的进程,请child_process.spawn
改用。
Node 可以很好地处理 apache 的任务;我使用express来托管文件和动态页面;我的应用程序逻辑是在对特定路由发出特定 HTTP 请求时由 Express 调用的 javascript 代码。
除非您限制同时计算,否则您的机器可能会陷入困境。我对线程池一无所知或评论。 caolan/async可以帮助管理并发计算(和其他控制流任务)。