Node.js数学计算 - 子进程和复杂数据?

时间:2014-03-02 18:09:39

标签: node.js

我正在尝试解决我在主线程上进行数学计算的问题,并且我想将其移动到子进程中。问题是我无法想出一个简单的解决方案。

这是我已经拥有的:

  1. 我调查了child_process.exec
  2. 管理传递和返回流程的简单数据(如Fibonacci seq)
  3. 我无法解决的问题:

    1. 我的计算使用对象数组(例如:[{x: 1, y: 2, z: 3}, ...]
    2. child_process.exec只能传递命令行参数
    3. 我无法弄清楚如何将复杂的数据结构传递给子进程?
    4. 也许有一个库可以抽象出所有这些逻辑,我可以做类似的事情:

      doHeaveComputation(function (result) { 
        //do something with result
      });
      

      感谢您的帮助

1 个答案:

答案 0 :(得分:1)

尝试child_process.fork()。它使用ChildProcess方法返回send对象,该方法允许将可序列化数据和套接字发送到子进程。您还可以使用message事件从子进程接收消息。

更多文档:http://nodejs.org/api/child_process.html#child_process_child_send_message_sendhandle